对于下面声明的类,对于所给的几个语句,正确的是(假设选项中所给语句是主函数中的语句)( )。class MyClass{public: MyClass(int x):data(x) {}private: int data;void show();};
A. MyClass *pm;
B. MyClass mfirst;
C. MyClass.data=6;
D. MyClass.show();
查看答案
下列说法错误的是( )。
A. 构造函数可以对静态数据成员进行初始化
B. 构造函数可以设置默认参数
C. 构造函数可以在说明类变量时自动执行
D. 构造函数可以重载
#includeusing namespace std;class Name{char name[20];public:Name(){strcpy (name,"");cout<<'?';}Name(char *fname){strcpy (name, fname);cout<<'?';}};int main(){Name names[3] ={Name("张三"),Name("李四")};return 0;}运行此程序输出符号?的个数是( )
A. 0
B. 1
C. 2
D. 3
有如下的程序:#include #includeusing namespace std;class MyString{public:MyString(const char *s);~MyString() {delete []data;}protected:unsigned len;char * data;};MyString::MyString(const char *s){len = strlen(s);data = new char[len+1];strcpy(data,s);}int main(){MyString a("C++ Programming");MyString b(a);return 0;}在运行上面的程序时出错,出错的原因是()。
A. 构造函数的实参不允许是本类的对象
B. 没有定义实现深层复制(深拷贝)的拷贝构造函数
C. 构造对象a时实参与形参类型不符
D. 系统不能生成缺省的拷贝构造函数
已知类MyClass的定义如下:class MyClass{private:int num;public:MyClass(int d):num(d){}MyClass(const MyClass& original):num (original.num){}friend void print(MyClass C){cout<
A. 4
B. 3
C. 2
D. 1