c++重点复习看懂必过_第1页
c++重点复习看懂必过_第2页
c++重点复习看懂必过_第3页
c++重点复习看懂必过_第4页
c++重点复习看懂必过_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

假设Test为一个类,执行Test*p=newTest[4];Test*a[4];delete[]p;语句时会自动调用该类构造函数和析构函数的次数是〔D〕A)构造函数1次,析构函数1次B)构造函数8次,析构函数8次C)构造函数8次,析构函数4次D)构造函数4次,析构函数4次关于new运算符的以下描述中,〔D〕是错误的。A)它可以用来动态创立对象和对象数组B)使用它创立的对象或对象数组可以使用运算符delete删除C)使用它创立对象时要调用构造函数D)使用它创立对象数组时,可以为对象显示指定值进行初始化关于类成员的访问属性,以下说法中错误的选项是(B)。A.公用成员可以在类外直接访问 B.私有数据成员只能被本类的公用成员函数访问C.保护成员在派生类中也可以访问 D.在main函数中不能访问对象的保护成员在具有共同基类的多重继承中,使用(A)消除二义性。A.虚基类 B.抽象类 C.虚函数 D.友元类假设要对类Sample增加类型转换函数,可以将Sample类对象转换为int,那么函数声明原型为〔A〕。A.operatorint()const; B.intoperatorint()const; C.operatorSample()const; D.int()const;以下关于指针和引用的说法中错误的选项是〔D〕。A.指针保存内存地址B.引用就是变量的别名C.指针使用过程中可以改变其指向D.引用在使用过程中可以引用其他的变量#include<iostream>usingnamespacestd;classBase{public: virtualvoidfun1() { cout<<'0'<<endl; } voidfun2() { cout<<'1'<<endl; } virtual~Base() { cout<<"desBase"<<endl; }};classDerived:publicBase{public: voidfun1() { cout<<'2'<<endl; } voidfun2() { cout<<'3'<<endl; } ~Derived() { cout<<"desDerived"<<endl; }};intmain(){ Base*p=newDerived; p->fun1(); p->fun2(); deletep; return0;}#include<iostream>usingnamespacestd;classA{ intm_a;public: A():m_a(0) { cout<<"ConA1"<<endl; } A(inta):m_a(a) { cout<<"ConA2"<<endl; }};classB{ intm_b;public: B():m_b(0) { cout<<"ConB1"<<endl; } B(intb):m_b(b) { cout<<"ConB2"<<endl; }};classC:publicA{ Bm_oB;public: C() { cout<<"ConC1"<<endl; } C(inta,intb):A(a),m_oB(b) { cout<<"ConC2"<<endl; }};intmain(){ Cc1; Cc2(4,5); return0;}针对三维图形声明IThreeDimShape接口类,它里面有求外表积〔getArea〕和求体积〔getVolume〕的两个纯虚函数,Ball类〔球体〕和Cylinder类〔圆柱体〕均要实现IThreeDimShape接口类,Ball类的数据成员有球体半径,Cylinder类的数据成员有底面圆半径和高。constdoublePI=3.14;classIThreeDimShape{ virtualdoubleGetArea()const=0; virtualdoubleGetVolume()const=0;};classBall:publicIThreeDimShape{ doublem_dR;public: Ball(doubler=0):m_dR(r){} virtualdoubleGetArea()const { return4*PI*m_dR*m_dR; } virtualdoubleGetVolume()const { returnPI*m_dR*m_dR*m_dR*4/3; }};classCylinder:publicIThreeDimShape{ doublem_dR; doublem_dHeight;public: Cylinder(doubler=0,doubleh=0): m_dR(r),m_dHeight(h) {} virtualdoubleGetArea()const { return2*PI*m_dR*m_dR+ m_dHeight*2*PI*m_dR; } virtualdoubleGetVolume()const { returnPI*m_dR*m_dR*m_dHeight; }};

定义一个数组类的类模板Arraytemplate<typenameT,intn=10>classArray{ TData[n]; constintm_nSize; public: Array():m_nSize(n) {} T&operator[](intindex) {returnm_pData[index];} intGetSize()const{returnm_nSize;} TFind()const;//找到最大元素};template<typenameT,int

温馨提示

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

评论

0/150

提交评论