面向对象习题.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类和对象 一、单项选择题 1、对类的构造函数和析构函数描述正确的是( )。 A、构造函数可以重载,析构函数不能重载 B、构造函数不能重载,析构函数可以重载 C、构造函数可以重载,析构函数也可以重载 D、构造函数不能重载,析构函数也不能重载 2、类的析构函数的作用是( )。 A、一般成员函数 B、类的初始化 C、对象的初始化 D、删除对象 3、假定MyClass为一个类,则该关的拷贝构造函数的声明语句为( )。 A、MyClass(MyClass x); B、MyClass(MyClass x); C、MyClass(MyClass x); D、MyClass(MyClass *x); 4、假定MyClass为一个类,则执行MyClass a, b(2), *p;语句时,自动调用构造函数( )次。 A、2 B、3 C、4 D、5 5、下面对于友元函数描述正确的是( )。 A、友元函数的实现必须在类的内部定义 B、友元函数是类的成员函数 C、友元函数破坏了类的封装性和隐藏性 D、友元函数不能访问类的私有成员 7、一个类的友元函数或友元类能够通过成员操作符访问该类的( )。 A、私有成员 B、保护成员 C、公用成员 D、所有成员 8、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为( )。 A、public B、protected C、private D、static 9、下面对静态数据成员的描述中,正确的是( )。 A、静态数据成员可以在类体内进行初始化 B、静态数据成员不可以被类的对象调用 C、静态数据成员不能受private控制符的作用 D、静态数据成员可以直接用类名调用 10、下面对静态数据成员的描述中,正确的是( )。 A、静态数据成员是类的所有对象共享的数据 B、类的每个对象都有自已的静态数据成员 C、类的不同对象有不同的静态数据成员值 D、静态数据成员不能通过类的对象调用 11、假定MyClass为一个类,则执行MyClass a[3], *p[2];语句时,自动调用该类构造函数( )次。 A、2 B、3 C、4 D、5 14、类MyClass的定义如下: class MyClass{ public: MyClass( ){ value=0; } 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)是等价的 15、类MyClass的定义如下: class MyClass{ public: MyClass( ){ } MyClass(int i){ value=new int(0); } int *value; }; 若要对Value赋值,则下面语句正确的是( )。 A、MyClass my; my.value=10; B、MyClass my; *my.value=10; C、MyClass my; my.*value=10 D、MyClass my(10); 16、对于拷贝构造函数,正确的描述是( )。 A、在C++语言中如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数 B、必须为每个类定义拷贝构造函数 C、如果要使用拷贝构造函数,则必须在类中先定义 D、当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数 17、对于拷贝构造函数和赋值操作的关系,正确的描述是( )。 A、拷贝构造函数和赋值操作是完全一样的操作 B、进行赋值操作时,会调用类的构造函数 C、当调用拷贝构造函数时,类的对象正在被建立并被初始化 D、拷贝构造函数和赋值操作不能在同一个类中被同时定义 18、对下列语句正确的描述是( )。 const int *x; //① int const *x; //② A、语句①的含义是指针变量x不能更改 B、语句②的含义是指针变量x所指向的值不能更改 C、语句②的含义是指针变量x不能更改 D、语句①和②是相同含义的不同定义方式 19、关于new运算

文档评论(0)

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

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

1亿VIP精品文档

相关文档