网站大量收购独家精品文档,联系QQ:2885784924

《Visual C++基础教程》课件_第4章.ppt

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

classCircle:publicPoint{private: intr;public: Circle(inta,intb,intc):Point(a,b),r(c) { } voidShow() {cout“thecentreofcircle:(x,y).radius:rendl; }};voidmain(){ Pointp1(4,4); p1.Show(); Circlec1(40,40,40); p1=c1; //派生类对象赋值给基类对象 p1.Show(); Circlec2(50,50,50); Pointp2=c2; //用派生类对象初始化基类的引用 p2.Show(); Circlec3(60,60,60); Point*p3=c3;//将派生类对象地址赋值给基类指针 p3-Show(); Point*p4=newCircle(70,70,70);//用指向派生类对象的指针初始化基类指针 p4-Show();}程序运行结果为:Point:(4,4)Point:(40,40)Point:(50,50)Point:(60,60)Point:(70,70)虽然在基类和派生类中定义了同名的成员函数Show(),但从程序运行结果看,程序中对函数Show()的调用都调用的是基类的成员,即定义对象、引用和指针时的类决定了通过它们访问的是该类的成员。习题1.C++中的继承分为哪两类?继承方式又分为哪三种?三种继承方式有何特点?2.三种继承方式对基类成员的访问属性分别有什么影响?3.保护成员有哪些特性?三种继承方式对基类保护成员的访问属性有什么影响?4.派生类的构造函数和析构函数与基类的构造函数和析构函数之间有什么关系?它们的调用顺序是怎样的?5.什么是多重继承?多重继承中派生类构造函数如何定义?6.多重继承中,哪些情况下会产生二义性?如何消除?7.C++中为什么要引入虚基类?带有虚基类的派生类的构造函数有什么特点?8.C++中对虚基类构造函数的调用有什么规定?9.什么是赋值兼容规则?赋值兼容规则包含哪些情况?10.指出下列程序中的错误,说明产生错误的原因,修改程序使其能正确执行。(1)#includeiostream.hclassPoint{protected: intx,y;public: Point(inta,intb){x=a;y=b; } intGetX(){ returnx; } intGetY(){ returny; }};classCircle:publicPoint{protected: intr;public: Circle(inta=0,intb=0,intc=0){ r=c; } intGetR(){ returnr; }};voidmain(){ Circlec(10,20,30); coutx=c.GetX(),y=c.GetY(),r=c.GetR()endl;}(2)#includeiostream.hclassA{ inta;public: voidSetData(intx){ a=x; } intGetData(){ returna; }};classB{ intb;public: voidSetData(intx){ b=x; } intGetData(){ returnb; }};classC:publicA,publicB{public: voidSetData(intx,inty){ a=x;b=y; }};voidmain(){ Cc; c.SetData(20,50); couta=c.GetData(),b=c.GetData()endl;}11.定义一个Person类,其中有数据成员姓名、性别和年龄。从Person派生出一个教师类Teacher,新增数据成员专业、职称和主讲课程;从Person派生出一个学生类Student,新增数据成员学号、专业。为各个类添加相应的成员函数以对各数据成员进行处理。编写主函数测试派生类。12.定义日期类Date和时间类Time,在两个类中添加成员函数可以完成日期和时间的增加和减少功能。从Date和T

文档评论(0)

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

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

1亿VIP精品文档

相关文档