第七章 C++作业4答案.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业2讲评 一、选择题 1. 类MyClass的定义如下: class MyClass { public: MyClass() { value = 0;} SetVariable(int i) { value = i; } private: int value; } 则对下列语句序列正确的描述是_______。D MyClass *p,my; p=my; A)语句p=my;是把对象my赋值给指针变量p //把对象my的地址赋值给指针变量p B)语句MyClass *p,my;会调用两次类MyClass的构造函数 //调用1次 C)对语句 *p.SetVariable(5)的调用是正确的 //应为(*p) . SetVariable(5) D)语句p-SetVariable(5)与语句my.SetVariable(5)等价 2. 类MyClass的定义如下: class MyClass { public: MyClass( ) { } MyClass(int i) {value = new int(i); } int* value; } 若要对 value赋值, 则下面语句正确的是:___D A) MyClass my; my.value =1000; //my.value应存放地址,无法直接赋值 B) MyClass my; *my.value =1000; //my.value没初始化,*(my.value)=1000内存出错 C) MyClass my; my.*value =1000; //语法错误 D) MyClass my(lO); 3. 对于拷贝构造函数,正确的描述是________。A A)在C++语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数 B)必须为每个类定义拷贝构造函数 C)如果要使用拷贝构造函数,则必须在类中先定义 D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数 若没定义构造函数、拷贝构造函数、析构函数,使用默认的函数,但若定义了这类函数 默认的函数自动失效。 4. 对于拷贝构造函数和赋值操作的关系,正确的描述是__________。C A)拷贝构造函数和赋值操作是完全一样的操作 B)进行赋值操作时,会调用类的拷贝构造函数 C)当调用拷贝构造函数时,类的对象正在被建立并被初始化 D)拷贝构造函数和赋值操作不能在同一个类中被同时定义 调用拷贝构造函数是定义一个新对象,赋值操作是对一个已存在的对象进行更新。 5. 对下列语句正确的描述是______。C const int *x; //① int *const x; //② A)语句①的含义是指针变量x不能更改 B)语句②的含义是指针变量x所指向的值不能更改 C)语句②的含义是指针变量x不能更改 D)语句①和②是相同含义的不同定义方式 int *const x;//定义一个常量指针,x不能更改,*x可更改。 如int y,t;const int *x=y; x=t;//错 *x=30; //对 const int *x;//定义一个常量的指针(或称指针常量),x可更改,*x不可更改。 如:int y,t; const int *x=y; *x=t;//错 x=t; //对 6 有如下定义语句:int a[]={1,2,3,4,5};,则对语句int *p=a;正确的描述是_B 。 A)语句int *p=a;定义不正确 B)语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素 C)语句int *p=a;是把a[0]的值赋给变量p D)语句int *p=a;是把a[1]的值赋给变量p 7 关于new运算符的错误的描述是_______。A A)使用运算符new创建对象数组时必须定义初始值 B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组 D)使用new运算符创建的对象可以使用运算符delete删除 使用运算符new创建对象数组时不能为该数组定义初始值, 包容类Contain和内嵌类Embed定义如下: #include “iostream.h” class Contain { private: int x; protected: int z

文档评论(0)

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

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

1亿VIP精品文档

相关文档