przypisane klasy dziedzicznej do nadrzędnej

0

Klasa1 to klasa nadrzędna klasy Klasa2. Klasa2 dziedziczy klasę Klasa1.
Próbuję przypisać:

Klasa2 temp(12, "sfsgd", "fsdfs", 42, 15001900);
Klasa *wsk;
*wsk = &temp;

i dostaje taki błąd:

binary '=' : no operator found which takes a right-hand operand of type 'Klasa2 *' (or there is no acceptable conversion)

0

Bo powinno być:

Klasa2 temp(12, "sfsgd", "fsdfs", 42, 15001900);
Klasa *wsk;
wsk = &temp;
0

ok, poprawiłem, działa ale mam kolejny błąd, nie wiem czy bezpośrednio związany z tym problemem:

error LNK2001: unresolved external symbol "public: virtual void __thiscall Damskie::usun(void)" (?usun@Klasa2@@UAEXXZ)	C:\.....\nazwa_proj.obj	nazwa_proj

co to za błąd?

0

zadeklarowałeś metodę Damskie::usun() ale jej nie zdefiniowałeś (zaimplementowałeś).

0

ok, no to analogicznie to zrobiłem na tablicy wskaźników:

void dodaj_obiekt(int dana1, string dana2, string dana3, int dana4, double dana5)
{
Klasa2 temp(dana1, dana2, dana3, dana4, dana5);
	vector <Klasa2>* wsk[150];
	wsk[1] = &temp;
}

no i znowu wywala błąd:

error C2440: '=' : cannot convert from 'Klasa2 *' to 'std::vector<_Ty> *'

0

Programowanie to nie pisanie przypadkowych ciągów znaków. Pomyśl trochę zanim coś napiszesz.
Pewnie chciałeś coś takiego:

void dodaj_obiekt(int dana1, string dana2, string dana3, int dana4, double dana5)
{
     vector <Klasa2 *> wsk; // to raczej powinno być pole klasy lub zmienna globalna, a nie zmienna lokalna!!!
     wsk.push_back(new Klasa2(dana1, dana2, dana3, dana4, dana5));
}

albo (raczej to bo na pewno nie umiesz jeszcze zarządzać pamięcią):

void dodaj_obiekt(int dana1, string dana2, string dana3, int dana4, double dana5)
{
     vector <Klasa2> wsk; // to raczej powinno być pole klasy lub zmienna globalna, a nie zmienna lokalna!!!
     wsk.push_back(Klasa2(dana1, dana2, dana3, dana4, dana5));
}
0

ok, poprawiłem to i działa, utworzyłem dodatkowo wektor:

vector <KlasaNadrzedna *> wskaznik

jak wkładać do tego wektora wskaźniki na kolejne obiekty Klasa2 tworzone przez tą funkcję dodaj_obiekt()?

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