Mam taki kod:
class PozycjaZamowienia
{
private:
string nazwa;
double iloscSztuk;
double cena;
public:
//PozycjaZamowienia() {}
PozycjaZamowienia(string nazwa, double ilosc, double cena)
:nazwa(nazwa),iloscSztuk(ilosc),cena(cena)
{}
};
class Zamowienia
{
private:
string nrZamowienia;
PozycjaZamowienia pozycjaZamowienia[20];
public:
Zamowienia()
{
}
};
Dlaczego krzyczy mi o konstruktor domyślny? Po co mu on?
Znalazłem taki kod:
// C2512.cpp
// Compile with: cl /W4 c2512.cpp
// C2512 expected
struct B {
B (char *) {}
// Uncomment the following line to fix.
// B() {}
};
int main() {
B b; // C2512 - This requires a default constructor
}
Czyli w klasie Zamowienia, pole PozycjaZamowienia tworzy obiekt PozycjaZamowienia, ale bez parametrów, tak?
To jak przekazać te parametry w klasie Zamowienia? Czy po prostu musi być w klasie PozycjaZamowienia ten konstruktor domyślny bez parametrów?