15. januar 2005 - 16:42Der er
10 kommentarer og 1 løsning
Default constructor...hjælp!
Hej Alle!
Jeg har designet en klasse der repræsenterer et polynomium. I den forbindelse har jeg i polynomiumsklassen, kun en member, som er en vector med ledende i polynomiet.
Mit problem er at jeg ikke kan få default constructoren til at virke.
Min polynomiumsklasse ser således ud:
public:
Polynomium(); vector<Led> led; Led Polynomium::opretLed(string& enStreng)
+ andre metoder til at ligge led ind i vektoren,samt manipulere disse.
under implementeringen er der blot:
Polynomium::Polynomium() {
}
I min main gør jeg følgende:
Polynomium poly(); //initialiserer denne ikke default constructoren og vektoren i klassen?
problemet opstår når jeg herefter i min main prøver at kalde en af metoderne i klasse:
Hvorfor dette og hvordan laver jeg en default constructor, som ikke tager nogen parametre med, men som stadig opretter et polynomie og som jeg herefter kan kalde metoder i? Mit gæt er at det har noget at gøre med allokering af memory, men ved det så absolut ikke.
Nej, det er ikke det jeg søger. Problemet er at jeg kan ikke oprette en Polynomie med en default constructor uden parametre og som ikke gør noget over hovedet. Dvs default constructoren ikke indeholder nogen kode:
Polynomium::Polynomium() {
}
Hvis jeg gør det og prøver at kalde en metode i min main:
Polynomium poly(); poly.getGrad();
kan jeg ikke kompilere og får følgende fejl:
CPP.cpp(14): error C2228: left of '.getGrad' must have class/struct/union type
Hvis jeg derimod gør følgende:
Polynomium::Polynomium(int etTal) { tal = etTal; }
Kan jeg godt kompilere og køre dette i main:
Polynomium poly(3); poly.getGrad();
Konstruktoren gør ikke andet end at sætte en ligegyldig variabel, som ikke bruges, men bare er der for at kunne oprette et polynoium.
Håber i kan hjælpe mig. Opgaven skal afleveres mandag og jeg er godt nok ikke ret stærk i c++. Hvis der for øvrigt er en c++ super haj som gider lige at skimme mine 200 liniers kode igennem, for evt åbenlyse fejl samt dumheder, som eks. memory management vil jeg bliver utroligt glad!
Forøvrigt arne, kom med et svar i den tråd der omhandler opgaven og du får point.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.