konstruktor w agregacji

0

mam coś takiego

class sciana {
	public:
		int a,b;
		int pole ();
		sciana()
		{
			this->a=1;
			this->b=1;
		};
		sciana(int b1, int b2)
		{
			this->a=b1;
			this->b=b2;
		};


};

class prostopadlo {
	public:
		sciana s1, s2, s3;
};

i teraz chce zrobic taki konstruktor w klasie prostopadlo, ktory dostaje 3 inty (boki prostopadloscianu), a następnie uruchamia 3 razy konstruktor klasy sciana (dla s1, s2, s3) i wpisuje boki a i b
probowalem w ten sposob, ale są błędy:

prostopadlo(int b1, int b2, int b3)
		{
			this->s1(b1, b2);
			this->s2(b1, b3);
			this->s3(b2, b3);
		};

no i podobnie konstruktor domyslny tej klasy, czyli
jesli wywolam w mainie:
prostopadlo figura;
to żeby tworzył obiekt klasy prostopadlo i w niej kazdy z elementow s1, s2 i s3 mial wywolany konstruktor domyslny. czyli zeby automatycznie przyjmowalo wartosci 1.

pozdrawiam

0
prostopadlo::prostopadlo(int b1, int b2, int b3)
   :s1(b1, b2), s2(b1, b3), s3(b2, b3)
{
};
0

od tego sa listy inicjalizacyjne

class sciana
{
    int wys, szer;
public:
    sciana();
    sciana(int wysokosc, int szerokosc);
};

sciana::sciana() :   //dwukropek!
    wys(0),    //lista inicjalizacyjna
    szer(0)
{
}

sciana::sciana(int wysokosc, int szerokosc) :
    wys(wysokosc),
    szer(szerokosc)
{
}

class ppdscian
{
    sciana s1, s2, s3;   //ppdscian powinien miec 6 scian, ale mi sie nie chce
public:
    ppdscian();
    ppdscian(int dlug, int szer, int wys);
};

ppdscian() :
    s1(1,1),
    s2(2,1),
    s3(10,6)
{
}

ppdscian(int dlug, int szer, int wys):
    s1(dlug, szer),
    s2(dlug, wys),
    s3(szer, wys)
{
}
0

dziękuje bardzo ;)
szukałem troche na ten temat, ale jak sie nie wie jak to sie fachowo nazywa (lista inicjalizacyjna) to trudno znaleźć.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.