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

[C++, obiektowość] Tworzenie obiektu z oryginalnym konstruktorem w klasie

Ostatnio zmodyfikowano 2015-04-05 12:32
Autor Wiadomość
Monika90
» 2015-04-04 19:55:28
C/C++
class klasa_B
{
    klasa_A obiekt( 1 ); //Blad - Jak utworzyc obiekt, ktory do konstruktora musi miec argument/y ?
};
wystarczy zmienić nawiasy na klamry
C/C++
class klasa_B
{
    klasa_A obiekt { 1 };
};
dla tablic też zadziała
P-130142
notabigthreat
» 2015-04-04 20:06:28
@up:
Czy ten sposób zadziała, jak mamy argumentY?
@EDIT:
Dobra, taki kod:
C/C++
class A
{
public:
    int q;
    int k;
    A( int x, int y )
        : q( x )
         , k( y )
    {
        ;
    }
};
class B
{
public:
    A a[ 2 ] { { 2, 3 }, { 5, 6 } };
};
int main()
{
    A aaa( 3, 4 );
    B bbb;
    return 0;
}
 się kompiluje.
P-130143
Monika90
» 2015-04-04 20:19:05
Czy ten sposób zadziała, jak mamy argumentY?
Tak.

Ale w ogóle należy pamiętać że przy inicjalizacji za pomocą niepustych {} preferowany jest konstruktor przyjmujący initializer_list, więc czasem trzeba napisać tak
C/C++
class klasa_B
{
    klasa_A obiekt = klasa_A( 1 );
};
P-130145
Winner_Of_Death
Temat założony przez niniejszego użytkownika
» 2015-04-04 20:46:34
A mi się nie kompiluje.
function definition does not declare parameters
Stary kompilator ?
P-130148
Monika90
» 2015-04-05 10:51:36
albo masz stary kompilator, albo nie włączyłeś C++11
P-130164
Winner_Of_Death
Temat założony przez niniejszego użytkownika
» 2015-04-05 12:32:36
Jednak niestety stary kompilator.
Poszukam nowszego, jednakże ten problem został rozwiązany, za co dziękuję.
P-130174
1 « 2 »
Poprzednia strona Strona 2 z 2