Jak utworzyć obiekt jednej klasy w innej klasie

0

Mając klasę gra dodaje do niej obiekt klasy osoba jako składnik. Wtedy ten obiekt osoba mogę zainicjować w konstruktorze albo w metodzie z klasy Gra tak jak poniżej ?

class Gra 
{
private:
    Osoba osoba;

public:  
void start()
{
    osoba = new osoba("Tomek");
}
    
}; 
3

Nie możesz. Twój kurs/książka od C++ powinna takie rzeczy omówić.

Możesz osoba zainicjalizować w konstruktorze:

Gra::Gra() : osoba("Tomek")
{
}

Lub przypisać nową osobę w funkcji start:

void start()
{
	osoba = Osoba("Tomek");
}
2

osoba to obiekt, a nie wskaźnik, więc nie możesz używać składni z new. Zresztą nie chcesz się babrać wskaźnikami jeśli nie musisz.

Obiekt możesz inicjalizować na liście inicjalizacyjnej konstruktora

Gra::Gra() : osoba("Tomek")
{

}
0

ok, już mi rozjaśniliście to wszystko

1 użytkowników online, w tym zalogowanych: 0, gości: 1