Avatar billede krukken Juniormester
11. oktober 2004 - 15:32 Der er 7 kommentarer og
1 løsning

Oprette objekt en en anden klasse i en klasse?

Hej - jeg sidder med en problem som jeg simplethen ikke forstå....

Jeg har en klasse som hedder test

Class test
{
    public:
    test();
    ~test();
    opretTest2objekt();
   
    private:
    int value;
    test3 obj;
};

også har jeg en passe der så sådan ud...

class test3
{
    public:
    test3(int var);
    ~test3();

    private:
    int vard;
};


burde jeg så ikke i den første klasses construktør kunne sige:

obj = test3(var);

Jeg sidder på Linux - og det virker bare ikke - og jeg er ved at være godt træt af det.
Avatar billede arne_v Ekspert
11. oktober 2004 - 15:34 #1
Nej - den skal kaldes i test's konstructor som:

test::test() : obj(37)
{
}
Avatar billede jakobdo Ekspert
11. oktober 2004 - 15:34 #2
skal du ikke bruge:
test3 obj = new test3(1);
Avatar billede arne_v Ekspert
11. oktober 2004 - 15:35 #3
Jeg vil varmt anbefale:


test3 *obj;

og

test::test()
{
  ...
  obj = new test3(37);
  ...
}
Avatar billede krukken Juniormester
11. oktober 2004 - 15:35 #4
test.cpp: In constructor `test::test(int)':
test.cpp:4: no matching function for call to `test3::
  test3()'
test3.h:14: candidates are: test3::Serialhandler(const
  test3&)
test3.h:16:                test3::test(int)
Avatar billede krukken Juniormester
11. oktober 2004 - 15:39 #5
arne_v: første og anden indlæg har de noget med hinanden at gøre?
Avatar billede krukken Juniormester
11. oktober 2004 - 15:45 #6
Ligger du et svar arve_v?
Avatar billede arne_v Ekspert
11. oktober 2004 - 15:47 #7
Det første indlæg er hvordan du kalder constructor på en member variabel.

Det andet indlæg er et godt råd om helt at undgå problem stillingen.
Avatar billede arne_v Ekspert
11. oktober 2004 - 15:48 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester