Когда называется конструктор? В каком из следующих конструкторов myClass называется? 1. myClass class1; 2. myClass* class1; 3. myClass* class1 = new myClass; Спасибо большое Ответ 1 Да - конструктор по умолчанию, экземпляр, созданный в стеке Нет Да - конструктор по умолчанию, экземпляр, созданный в куче Ответ 2 В обоих # 1 и # 3, поскольку вы на самом деле делаете экземпляр объекта. В # 2 вы просто объявляете указатель, который не указывает на экземпляр. Ответ 3 Операция будет инициализировать объект в стеке, вызовите c'tor. Определяет только переменную-указатель в стеке, никакой конструктор не вызывается. Новый оператор создаст объект в свободном хранилище (обычно кучу) и вызовет c'tor. Но этот код не будет создавать экземпляр какого-либо объекта, поскольку он не компилируется.;-) Попробуйте следующее: myClass class1; myClass* class2; myClass* class3 = new myClass; класс 1 - это локальная переменная (в стеке), вызываемый конструктором. класс 2 - это указатель, не вызываемый конструктор. класс 3 - это указатель, вызывающий конструктор, когда выполняется новый. Ответ 4 1 и 3, потому что в них вы создаете объект myClass. Ответ 5 Конструктор вызывается в случаях 1 и 3 при создании экземпляра класса. Другой (2) объявляет только указатель.
Ответ 1 Да - конструктор по умолчанию, экземпляр, созданный в стеке Нет Да - конструктор по умолчанию, экземпляр, созданный в куче
Ответ 2 В обоих # 1 и # 3, поскольку вы на самом деле делаете экземпляр объекта. В # 2 вы просто объявляете указатель, который не указывает на экземпляр.
Ответ 3 Операция будет инициализировать объект в стеке, вызовите c'tor. Определяет только переменную-указатель в стеке, никакой конструктор не вызывается. Новый оператор создаст объект в свободном хранилище (обычно кучу) и вызовет c'tor. Но этот код не будет создавать экземпляр какого-либо объекта, поскольку он не компилируется.;-) Попробуйте следующее: myClass class1; myClass* class2; myClass* class3 = new myClass; класс 1 - это локальная переменная (в стеке), вызываемый конструктором. класс 2 - это указатель, не вызываемый конструктор. класс 3 - это указатель, вызывающий конструктор, когда выполняется новый.
Ответ 5 Конструктор вызывается в случаях 1 и 3 при создании экземпляра класса. Другой (2) объявляет только указатель.