单选题若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是( )。A2B5C4D9
单选题
若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是( )。
A
2
B
5
C
4
D
9
参考解析
解析:
语句“MyClass a[4]”定义了4个MyClass对象,分别为a[0],a[1],a[2],a[3],调用4次构造函数;语句“MyClass *p[5]”定义了5个指向MyClass对象的指针变量,分别为*p[0],*p[1],*p[2],*p[3],*p[4],但定义指针并没有实例化对象,所以不调用构造函数。因此,执行该语句共调用MyClass的构造函数4次。
语句“MyClass a[4]”定义了4个MyClass对象,分别为a[0],a[1],a[2],a[3],调用4次构造函数;语句“MyClass *p[5]”定义了5个指向MyClass对象的指针变量,分别为*p[0],*p[1],*p[2],*p[3],*p[4],但定义指针并没有实例化对象,所以不调用构造函数。因此,执行该语句共调用MyClass的构造函数4次。
相关考题:
类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i} private: int value; }; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p=my;A.语句p=my;是把对象my赋值给指针变量PB.语句MyClass*p,my;会调用两次类MyClass的构造函数C.对语句*P.SetVariabte(5)的调用是正确的D.语句p->SetVariable(5)与语句my.SetVariable(5)等价
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为A.MyClass(MyClassx);B.MyClass(MyClassx);C.MyClass(MyClass x);D.MvClass(MyClass *x);
假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为 ( )。A.MyClass (MyClass x);B.MyClass (MyClass x);C.MyClass(MyClass x);D.MyClass (MyClass *x);
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )A.MyClass(MyClass x);B.MyClass(MyClass x)C.MyClass(MyClass x);D.MyClass(MyClass *x)
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )A.MyClass(MyClass x);B.MyClass(MyClassx);C.MyClass(x);D.MvClass(x);
假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。A.MyClass (MyClass x);B.MyClass (MyClass.x);C.MyClass (MyClass x);D.MyClass (MyClass *x);
类MyClass的定义如下: class MyClass { pubfic: MyClass(){value=0;} SetVariable(int i){value=i;) private: intvalue; }; 则对下列语句序列正确的描述是( )。 MyClass*p,my;p=my;A.语句p=my;是把对象my赋值给指针变量pB.语句MyClass*p,my;会调用两次类MyClass的构造函数C.对语句*p.SetVariable(5)的调用是正确的D.语句p->SetVadable(5)与语句my.SetVariable(5)等价
单选题假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。AMyClass(MyClass x);BMyClass(MyClass x);CMyClass(MyClassx);DMyClass(MyClass*x);
单选题假定MyClass为一类,执行MyClassa,b(2),*p[2];语句时会自动调用该类构造函数()次。A2B3C4D5