vc第四章习题课.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vc第四章习题课

填空题(1) 派生新类的过程经历三个过程:吸收基类成员、改造基类成员和添加新成员。(2) 在类族中,直接参与派生出某类的基类称为直接基类;基类的基类甚至更高层的基类称为间接基类。(3) 在继承中,如果只有一个基类,则这种继承方式称为单继承;如果基类名有多个,则这种继承方式称为多继承。(4) ?C++中的运算符除了类属关系运算符.,作用域分辨符::、成员针运算*、sizeof运算符、三目运算符?之外,全部可以重载,而且只能重载C++中已有的运算符,不能臆造新的运算符。(5) ?如果用普通函数重载双目运算符,需要1个操作数;重载单目运算符,需要0个操作数。如果用友员函数重载双目运算符,需要2个操作数;重载单目运算符,需要1个操作数。(6) 当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、函数名、和参数个数,以及参数类型和参数个数都必须与基类中的原型完全相同。阅读程序分析下列程序,写出运行结果。 (1) 程序代码如下:#include iostream.hclass B{int x1,x2;public:voidInit(int n1,int n2){x1=n1;x2=n2;}int inc1(){return ++x1;}int inc2(){return ++x2;}voiddisp(){coutB,x1=x1,x2=x2endl;}};class D1:B{int x3;public:D1(int n3){x3=n3;}voidInit(int n1,int n2){B::Init(n1,n2);}int inc1(){return B::inc1();}int inc2(){return B::inc2();}int inc3(){return ++x3;}voiddisp(){coutD1,x3=x3endl;}};class D2:public B{int x4;public:D2(int n4){x4=n4;}int inc1(){int temp=B::inc1();temp=B::inc1();temp=B::inc1();return B::inc1();}int inc4(){return ++x4;}voiddisp(){coutD2,x4=x4endl;}};void main(){B b;b.Init(-2, -2);b.disp();D1 d1(3);d1.Init(5,5);d1.inc1();d1.disp();D2 d2(6);d2.Init(-4, -4);d2.disp();d2.inc1();d2.inc2();d2.disp();d2.B::inc1();d2.disp();}程序运行结果为:B,x1=-2,x2=-2D1,x3=3D2,x4=6D2,x4=6D2,x4=6(2) 程序代码如下:#include iostream.hclass Level1{public:int n1;Level1(intin_n1){n1=in_n1;coutThis is Level1,n1=n1endl;}};class Level21:virtual public Level1{public:int n21;Level21(int a):Level1(a){n21=a;coutThis is Level21,n21=n21endl;}};class Level22:virtual public Level1{public:int n22;Level22(int a):Level1(a){n22=a;coutThis is Level22,n22=n22endl;}};class Level3:public Level21,public Level22{public:int n3;Level3(int a):Level1(a),Level21(a),Level22(a){n3=a;coutThis is Level3,n3=n3endl;}};void main(){Level3 obj(3);}程序运行结果为:This is Level1,n1=3This is Level21,n21=3This is Level22,n22=3This is Level3,n3=3(3) 下列程序中,基类base和派生类d1、d2中都含有私有、保护和公有成员,d1类是base的派生类,d2是d1的派生类。试分析下列程序的访问权限。#include iostream.hclass base{private:int n1;protected:int k1;public:base(){n1=0;k1=1;}void

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档