
Det andra är att jag vill kunna skriva kod i stil med:
Kod: Markera allt
#include <iostream>
using namespace std;
class A {
public:
void DoSomething() {
test.DoSomething();
}
B test;
};
class B {
public:
void DoSomething() {
cout << "Hello from B" << endl;
}
};
int main () {
A tmp;
tmp.DoSomething();
return 0;
}
Om man deklarerar klassen B före A så går koden att kompilera, men det går ej att tillämpa den tekniken på det projekt jag (försöker att) jobbar på.terminalen säger följande skrev:main.cpp:11:2: fel: "B" är inte namnet på en typ
main.cpp: I medlemsfunktion "void A::DoSomething()":
main.cpp:8:4: fel: "test" deklarerades inte i detta definitionsområde
Kod: Markera allt
#include <iostream>
using namespace std;
class B {
public:
void DoSomething() {
cout << "Hello from B" << endl;
}
};
class A {
public:
void DoSomething() {
test.DoSomething();
}
B test;
};
int main () {
A tmp;
tmp.DoSomething();
return 0;
}