Mam 2 klasy, w jednej z nich np. A potrzebuję utworzyć obiekt klasy B, który chciałbym od razu zainicjować i korzystać z niego w kilku metodach klasy A.
0
0
zrob to w konstruktorze
2
Jak masz w klasie A pole (zmienną) typu B, to masz od razu. Chyba że masz tylko wskaźnik do B, no to w konstruktorze tworzysz, a potem w destruktorze usuwasz.
#include <iostream>
#include <string>
using namespace std;
struct B
{
string name;
void greet() { cout << "Hi, Im " + name << endl; }
};
struct C
{
void growl() { cout << "Im noname" << endl; }
};
class A
{
public:
A() { c = new C(); }
~A() { delete c; }
void display()
{
b.name = "John";
b.greet();
c->growl();
}
private:
B b;
C* c;
};
int main() {
A a;
a.display();
return 0;
}