Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Класс как поле другого класса


Автор: mkfs 16.12.2011, 22:48
Как тут правильно описать и проинициальзировать поле класса std::vector <int> arr(5)?
Код

class A
{
    std::vector <int> arr(5);

public:
    A()
    {
    }

    void in()
    {
        arr[0] = 789;
    }

    void out()
    {
        cout << arr[0];
    }
};

int main()
{
    std::vector <int> qw(5);
    qw[0] = 123;
    cout << qw[0];

    A obj;
    obj.in();
    obj.out();

}

Автор: newbee 16.12.2011, 22:55
Код

class x{
public:
 x():vector(5){}

protected:
 std::vector<int> vector;
};


Изучай списки инициализации.

Если в двух словах: в полях класса ты описываешь типы вложенных объектов, в списке инициализации указываешь, какие конструкторы вызывать для инициализации этих полей.

Автор: mkfs 16.12.2011, 23:06
Спасибо, разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)