问题
单项选择题
假定MyClass为一个类,执行“MyClass a[3],*p[2];”语句时会自动调用给类的构造函数( )次。
A) 2
B) 3
C) 4
D) 5
答案
参考答案:B
解析: C++在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。语句“MyClassa[3],*p[2];”创建了三个对象a[0]、a[1]、 a[2]和2个对象指针。在创建对象数组a时系统会调用类的构造函数。但在创建对象指针p时,不调用类的构造函数,因为指针p本身不定义类对象,而是定义了p可以指向一个MyClass的对象。