类和对象综合练习.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类和对象综合练习 一、单项选择题 1、对类的构造函数和析构函数描述正确的是( )o A、 构造函数可以重载, B、 构造函数不能重载, C、 构造函数可以重载, D、 构造函数不能重载, 析构函数不能重载 析构函数可以重载 析构函数也可以重载 析构函数也不能重载 2、类的析构函数的作用是( )o A、一般成员函数 B、类的初始化 C、对象的初始化 D、删除对象 TOC \o 1-5 \h \z 3、假定MyClass为一个类,则该关的拷贝构造函数的声明语句为( )。 A、MyClass(MyClass x); B、MyClass(MyClass x); C、MyClass(MyClass x); D、MyClass(MyClass *x); 4、假定MyClass为一个类,贝U执行MyClass a, b(2), *p;语句时,自动调用构造 函数( )次。 A、2 B、3 C、4 D、5 5、假定MyClass为一个类,则执行MyClass a[3], *p⑵;语句时,自动调用该类 构造函数( )次。 A、2 B、3 C、4 D、5 6、 类MyClass的定义如下: class MyClass{ public: MyCIass(){ value=O; } SetVariable(int i){ value=i; } private: int value; };则对下列语句序列正确的描述是( )。 MyClass *p, my; p 二my; A、 语句p二my;是把对象my赋值给指针变量p B、 语句MyClass *p, my;会调用两次类MyClass的构造函数 C、 对语句*p.SetVariable(5)的调用是正确的 D、 语句 p-SetVariable(5)与语句 my.SetVariable(5)是等价的 7、 类MyClass的定义如下: class MyClassf public: MyClass(){ } MyClass(int i){ value=new int(O); } int *value; };若要对Value赋值,则下面语句正确的是( )。 A、MyClass my; my.value=10; MyClass my; *my.value=10; C、 MyClass my; my.*value=10 D、 MyClass my(10); 8、 对于拷贝构造函数,正确的描述是( )。 A、在C++语言屮如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构 造函数 B、 必须为毎个类定义拷贝构造函数 C、 如果要使用拷贝构造函数,则必须在类屮先定义 D、 当定义了类的构造函数吋,如果要使用拷贝构造函数,则必须定义拷贝构造 函数 9、 对下列语句正确的描述是( )。 const int *x; 〃①int const *x; 〃② A、 语句①的含义是指针变量x不能更改 B、 语句②的含义是指针变量x所指向的值不能更改 C、 语句②的含义是指针变量x不能更改 D、 语句①和②是相同含义的不同定义方式 10、 关于new运算符的错误的描述是( )。 A、 使用运算符new创建对彖数组时必须定义初始值 B、 使用运算符new创建对彖时,会调用类的构造函数 C、 运算符new可以用来动态创建对象和对象数组 D、 使用new运算符创建的对象可以使用运算符delete删除 二、分析下列各程序的运行结果 1、 源程序如下: class MyClass{ char ch; public: MyClass(); MyClass(char character); void Print(); ?MyClass(); }; MyClass::MyClass(){cout?HThis is a constructor!n?endl; ch—a: } MyClass::MyClass(char character){cout?MThis is a constructor!M?endl; ch=character;} Void MyClass::Print(){cout?HThc value of ch is u?ch?cndl; } MyClass:MyClass(){cout?MThis is a destructor!H?endl; } int main(){ MyClass first,second(,b,); first.Print(); second.Print(); return 0; } 2、 源程序如下: class ClassOne{ public: ClassOnc(); ClassOne(int value); void Print(); ?ClassOne(); private: int i;

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档