Member ClassC in ClassA Source File nutzen



  • also hab vier Files

    [b]file1->classA.h[/b]
    
    #include "classC.h"
    class ClassA{
    	classC ccl;
    public:
    	ClassA();
    	virtual ~ClassA();
    };
    
    [b]file2->classA.cpp[/b]
    
    #include "ClassA.h"
    
    ClassA::ClassA():ccl() {
    	ccl.sagHallo();
    }
    
    [b]file3->classC.h[/b]
    
    class classC {
    public:
    	void sagHallo();
    	int arr[10];
    	classC();
    	virtual ~classC();
    };
    
    [b]file4->classC.cpp[/b]
    
    #include "classC.h"
    
    classC::classC() {
    	printf("class C konstruktor aufgerufen");
    }
    
    void classC::sagHallo() {
    	printf("hallo sagt class C");
    }
    [b]file5->main.cpp "na gut sind doch 5 files" ;-)[/b]
    main(){
    classA clA;
    }
    

    mir gehts jetzt darum ist classC "richtig" als Memberklasse initialisiert. Also funktionieren tut's.



  • Also vielleicht ist die Frage etwas umständlich geschrieben. Ich möchte einfach in classA die klasse classC benutzen. Ich habe gelesen das ich membervariabeln einfach hinter den Konstruktor mit doppelpunkt setzten kann. Also so
    für eine Membervariable memA. Aber wie schreib ich das bei einer Klasse

    classA::classA():memA(4){
    }

    ich dachte vielleicht einfach so
    für die Memberklasse ccl

    classA::classA():ccl(){
    }


  • Mod

    Ja, das ist richtig so.

    Wenn du für Code nicht nur [code], sondern [code="cpp"] benutzt, dann wird der Code auch leserlich eingefärbt. Das macht auch der "C++"´Button unter dem 😞 -Smiley



  • Das kannst du zwar machen, aber es bringt nichts. Erst wenn du ccl Konstruktor-Parameter übergeben willst, brauchst du die Angabe in der Initialisierungsliste.

    Das bezieht sich aber alles auf die Membervariable ccl, dadurch wird classC nicht zu einer Memberklasse. Wäre auch blöd.



  • oh stimmt!

    geht auch ohne Eclipse hat zuerst ccl zuerst nicht im source File von classA erkannt. jetzt gehts auch ohne.


Log in to reply