Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wywołanie konstruktora dla obiektów dynamicznie tworzonej tablicy (nie domyślnego).

Ostatnio zmodyfikowano 2012-02-28 00:30
Autor Wiadomość
akwes
Temat założony przez niniejszego użytkownika
Wywołanie konstruktora dla obiektów dynamicznie tworzonej tablicy (nie domyślnego).
» 2012-02-27 23:51:15
Witam. Jak zwykle pewnie błahostka, która mi umyka ;)

Jest jakaś możliwość aby tak zrobić?

C/C++
class A
{
    int size;
public:
    A( int size );
};

class B
{
    A * tab;
public:
    B()
    {
        // tu potrzebuję, aby wywołać konstruktor z parametrem.
        tab = new A[ 2 ]; // tab = new A[2](10); ? bezsens :(
    }
};

Czy będzie trzeba po prostu rozbić konstruktor na konstruktor i funkcję?

C/C++
B()
{
    // Pusty konstruktor domyślny i funkcja inicjalizacyjna
    tab = new A[ 2 ];
    tab[ 0 ].create( 10 );
    tab[ 1 ].create( 10 );
}
 
P-51545
malan
» 2012-02-28 00:28:31
Jeżeli
A::size
 ma przyjmować taką samą wartość dla każdego obiektu to zrób go statycznym, a jeżeli nie to może argument domyślny rozwiązałby sprawę? :)
P-51546
akwes
Temat założony przez niniejszego użytkownika
» 2012-02-28 00:30:14
No właśnie :P Ma być taki sam dla każdego z obiektów w obrębie jednego obiektu klasy B.

Czyli np. dla jednego obiektu B ma być dla wszystkich 10, dla innego obiektu B to np. 15. Więc chyba ciężko będzie coś innego wymyślić ;>?

// edit

Dobra, chyba ustawię prywatny konstruktor domyślny dla klasy A, oraz funkcję Create() i zaprzyjaźnię klasę z B.
P-51547
« 1 »
  Strona 1 z 1