Я пытаюсь создать класс, содержащий другой класс в качестве переменной-члена. И я сталкиваюсь с проблемой последующей:конструктор класса, содержащий другой класс в качестве переменных-членов
class SubClass{
....
};
class MainClass{
public:
MainClass(SubClass const & subClass_);
private:
SubClass subClass
};
и в .cpp файлов для конструктора
MainClass::MainClass(SubClass const & subClass_){
subClass = subClass_;
}
Это выдает ошибки компилятора. Но следующие работы:
MainClass::MainClass(SubClass const & subClass_):
subClass(subClass_) {}
Может ли кто-нибудь сказать мне, в чем разница этих двух?
Одно назначается после построения, другое - копирование. Объявление 'SubClass' является ключом к пониманию того, почему компилируется, а почему нет. – Johnsyweb
Пожалуйста, заполните содержание '....' в декларации 'SubClass'. – dasblinkenlight
[This one] (http://stackoverflow.com/questions/1711990/what-is-this-weird-colon-member-syntax-in-the-constructor), кто-нибудь? Есть большой заголовок под названием ** В чем разница между инициализацией и присваиванием внутри конструктора? **. – chris