c++类与对象习题汇总_第1页
c++类与对象习题汇总_第2页
c++类与对象习题汇总_第3页
c++类与对象习题汇总_第4页
c++类与对象习题汇总_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.概念填空题1.1类定义的关键字是 。类的数据成员通常指定为 成员。类的函数成员通常指定为 成员,指定为的类成员可以在类对象所在域中的任何位置访问它们,类的只能被该类的成员函数或友元函数访问。1.2类的访问限定符包括 、和。类成员默认的访问方式是 访问限定符在类中侑/无)先后次序,各限定符 允许/不允许)多次出现。1.3构造函数的任务是 。类中可以有个构造函数,它们由区分。如果类说明中没有给出构造函数,则C+编译器会提供构造函数,该函数 (完成/不完成)对象初始化工作。1.4复制构造函数的参数是 ,当程序没有给出复制构造函数时,编译系统会提供,完成类对象的。复制构造函数被调用情况有 种(哪几

2、种)。1.5析构函数在对象 时被自动调用。类中没有定义析构函数时,编译系统会提供一个默认的析构函数。该函数 完成/不完成)具体对象的清理工作。2.2.1简答题为什么说类与对象的概念是客观世界的反映?简单解释什么是面向对象程序设计的封装性。引用作为函数参数时为什么能实现两个实参之间的数据交换2.22.3引用?为什么返回值为引用的函数可以作为左值?什么是默认的构造函数?默认的构造函数可以有多少个 复制构造函数用于哪3个方面?为什么在友元函数的函数体内访问对象成员时2.4?为什么对应实参不能为2.52.6员名?2.7类的静态数据成员与函数中的静态成员有何异同?2.8类的成员函数在什么情况下应该定义为

3、私有的?这样做的目的是什么?2.9友元关系有何性质?友元关系的优点和缺点各有哪些?,必须用对象名加运算符 ”.”再加对象成3.选择题3.1数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也 就是(A .类3.2类的实例化是指(A .定义类3.3下列说法中正确的是B .对象)。B .创建类的对象( )。C.函数体C.指明具体类D .数据块D .调用类的成员A .类定义中只能说明函数成员的函数头,不能定义函数体B. 类中的函数成员可以在类体中定义,也可以在类体之外定义C. 类中的函数成员在类体之外定义时必须要与类声明在同一文件中D 在类体之外定义的函数成员不能操作该类的私

4、有数据成员3.4有如下类定义:class sample int n;public:sample (int i=0): n(i) void setValue(i nt nO);;下列关于setvalue成员函数的实现中,正确的是( sample:setValue(int n0)n=n0; void sample:setvalue(int n0)n=n0; void setvalue(int n0)n=n0; setvalue(int n0)n=n0;)。AB.C.D.3.5 在下面的类定义中,class samplepublic:sample(int val);sample( );private

5、:int a=2.5;public: sample( );A .错误的语句是(/)。D .3.6 类的构造函数被自动调用执行的情况是在创建该类的(B .数据成员时 D.友元函数时BPC .)。A成员函数时C.对象时3.7()是析构函数的特征。A .一个类中只能定义一个析构函数B. 析构函数名与类名不同C. 析构函数的定义只能在类体内D 析构函数可以有一个或多个参数3.8 在下列函数原型中,可以作为类A . void AA(int) ; C. AA(int) const ;3.9 关于成员函数特征的下述描述中,A 成员函数一定是内联函数B. 成员函数可以重载C. 成员函数可以设置参数的默认值D

6、成员函数可以是静态的3.10 不属于成员函数的是(A 静态成员函数C.构造函数)。AA构造函数的是(B. int AA( ) ;D. AA(int)是错误的。B 友元函数D 析构函数)。3.11 已知类A.B.C.D.A 是类 B 的友元,类 B 是类 C 的友元,则( 类A一定是类 C 的友元类C一定是类 A 的友元类C的成员函数可以访问类B的对象的任何成员类A的成员函数可以访问类B的对象的任何成员)。3.12 有如下类定义:class AAint a;public:int getRef( ) const return &a;int getValue( ) const return a;vo

7、id set(int n) consta=n; friend void show(AA aa) const couta=a; void h(int b) Test:b=b; static int g( ) return a; private:int a;static int b;const int c;int Test:b=0; 在标注号码的行中,能被正确编译的是A .B .)。c.D ./常成员必须在初始化列表中初始化/常函数不能修改成员/ 静态函数要通过对象访问成员)。C.D .4 写出程序程序执行结果。4.1 #includeusing namespace std;class Test

8、public:Test( ) n+=2; Test( ) n-=3;static int getNum( ) return n; private:static int n;int Test:n=1;int main( )Test* p = new Test;delete p;cout ”n= ”Test:getNum( )endl; return 0;4.2#include using namespace std; class AAint n;public:AA(int k):n(k)int get( ) return n;int get( ) const return n+1;int mai

9、n( )AA a(5); const AA b(6); couta.get() ”,”b.get(); return 0;4.3 #include using namespace std; class MyClass public:int number; void set(int i);int number=3;void MyClass:set (int i) number=i;void main( )MyClass my1; int number=10; my1.set(5); coutmy1.numberendl; my1.set(number); coutmy1.numberendl;

10、my1.set(:number); coutmy1.number;4.4#include using namespace std;class Testprivate: static int val; int a;public: static int func( ); void sfunc(Test &r);int Test:val=200;int Test:func( )return val+;void Test:sfunc(Test &r)r.a=125; coutResult3=r.aendl;void main( ) coutResult1=Test:func( )endl; Test

11、a;coutResult2=a.func()endl; a.sfunc(a);5.编程题5.1构造一个日期时间类(Timedate),数据成员包括年、月、日和时、分、秒,函数成员包括设置日期时间和输出时间,其中年、月用枚举类型,并完成测试 (包括用成员函数和用普通函数)。5.2定义一个日期类Date,具有年月日等数据成员,显示日期、加减天数等函数成员。注意需要考虑闰年。5.3定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计算周长、 面积 ,输出半径、 周长和面积。 要求定义构造函数 (以半径为参数 ,默认值为 0,周长和面积在构 造函数中生成 )和复制

12、构造函数。5.4设计一个学校在册人员类 (Person)。数据成员包括身份证号(IdPerson)、姓名(Name)、性别(Sex)、生日(Birth-day)和家庭住址(HomeAddress)。成员函数包括人员信息的录入和显示 还包括构造函数与复制构造函数。设计一个合适的初始值。5.5 设计如下类:1)建立一个 Point 类,表示平面中的一个点; 建立一个 Line 类,表示平面中的一条线端, 内含两个 Point 类的对象;建立 Triangle 类,表示一个三角形,内含三个 Line 类的对象构成 一个三角形。2)设计三个类的相应的构造函数、复制构造函数,完成初始化和对象复制3)设计 Triangle 类的成员函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论