问题 单项选择题

若有一个MyClass类,则执行语句MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。

A.2

B.3

C.4

D.5

答案

参考答案:A

解析: 本题考核构造函数的调用。C++在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。语句MyClassa,b(2),*p;创建了两个对象a、b和一个对象指针。在创建a和b对象时系统会调用类的构造函数。但在创建对象指针p时,不调用类的构造函数,因为指针p本身不定义类对象,而是定义了p可以指向一个MyClass的对象。

选择题
单项选择题