欢迎来到天天文库
浏览记录
ID:37916928
大小:127.50 KB
页数:18页
时间:2019-06-02
《C++程序设计教程 课后答案 李秉璋》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.概念填空题1.1 类定义的关键字是class。类的数据成员通常指定为私有 成员。类的函数成员通常指定为公有 成员,指定为公有的类成员可以在类对象所在域中的任何位置访问它们,类的私有和保护只能被该类的成员函数或友元函数访问。1.2类的访问限定符包括public、private和protected。类成员默认的访问方式是private。访问限定符在类中无先后次序,各限定符允许(允许/不允许)多次出现。1.3构造函数的任务是建立对象。类中可以有多个构造函数,它们由参数 区分。如果类说明中没有给出构造函数,则C+
2、+编译器会提供构造函数,该函数不完成(完成/不完成)对象初始化工作。1.4复制构造函数的参数是对象的复制,当程序没有给出复制构造函数时,编译系统会提供默认复制构造函数,完成类对象的复制。复制构造函数被调用情况有 3 种。1.5析构函数在对象释放 时被自动调用。类中没有定义析构函数时,编译系统会提供一个默认的析构函数。该函数 不完成 (完成/不完成)具体对象的清理工作。2. 简答题2.1 为什么说类与对象的概念是客观世界的反映?2.2 简单解释什么是面向对象程序设计的封装性。2.3 引用作为函数参数时为什么能实
3、现两个实参之间的数据交换?为什么对应实参不能为引用?为什么返回值为引用的函数可以作为左值?2.4 什么是默认的构造函数?默认的构造函数可以有多少个?2.5 复制构造函数用于哪3个方面?2.6 为什么在友元函数的函数体内访问对象成员时,必须用对象名加运算符”.”再加对象成员名?2.7 类的静态数据成员与函数中的静态成员有何异同?2.8 类的成员函数在什么情况下应该定义为私有的?这样做的目的是什么?2.9友元关系有何性质?友元关系的优点和缺点各有哪些?3.选择题3.1数据封装就是将一组数据和与这组数据有关操作组装在一
4、起,形成一个实体,这实体也就是(B)。A.类 B.对象 C.函数体 D.数据块3.2类的实例化是指(B)。A.定义类 B.创建类的对象 C.指明具体类 D.调用类的成员3.3下列说法中正确的是(B)。A.类定义中只能说明函数成员的函数头,不能定义函数体 B.类中的函数成员可以在类体中定义,也可以在类体之外定义 C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D.在类体之外定义的函数成员不能操作该类的私有数据成员3.4有如下类定义:classsampl
5、e{ intn; public: sample(inti=0):n(i){} voidsetValue(intn0);};下列关于setValue成员函数的实现中,正确的是(B)。A.sample::setValue(intn0){n=n0;}B.voidsample::setValue(intn0){n=n0;}C.voidsetValue(intn0){n=n0;}D.setValue(intn0){n=n0;}3.5在下面的类定义中,错误的语句是(C)。classsample{ public: samp
6、le(intval); //① ~sample(); //② private: inta=2.5; //③ public: sample(); //④}; A.① B.② C.③ D.④3.6类的构造函数被自动调用执行的情况是在创建该类的(C)。 A.成员函数时 B.数据成员时 C.对象时 D.友元函数时3.7(A)是析构函数的特征。 A.一个类中只能定义一个析构函数 B.析构函数名与类名不
7、同 C.析构函数的定义只能在类体内 D.析构函数可以有一个或多个参数3.8在下列函数原型中,可以作为类AA构造函数的是(D)。 A.voidAA(int); B.intAA(); C.AA(int)const; D.AA(int)3.9关于成员函数特征的下述描述中,(A)是错误的。 A.成员函数一定是内联函数 B.成员函数可以重载 C.成员函数可以设置参数的默认值 D.成员函数可以是静态的3.10不属于成员函数的是(B)。 A.静态成员函数
8、 B.友元函数 C.构造函数 D.析构函数3.11已知类A是类B的友元,类B是类C的友元,则(C)。 A.类A一定是类C的友元 B.类C一定是类A的友元 C.类C的成员函数可以访问类B的对象的任何成员 D.类A的成员函数可以访问类B的对象的任何成员3.12有如下类定义:classAA{ inta;p
此文档下载收益归作者所有