第8章虚函数与多态性.doc

第8章虚函数与多态性.doc

ID:58837798

大小:37.00 KB

页数:4页

时间:2020-09-24

第8章虚函数与多态性.doc_第1页
第8章虚函数与多态性.doc_第2页
第8章虚函数与多态性.doc_第3页
第8章虚函数与多态性.doc_第4页
资源描述:

《第8章虚函数与多态性.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章虚函数与多态性8.1选择题1.在C++中,要实现动态联编,必须使用(d)调用虚函数。(a)类名(b)派生类指针(c)对象名(d)基类指针2.下列函数中,可以作为虚函数的是(c,d)。(a)普通函数(b)构造函数(c)成员函数(d)析构函数3.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(b)。(a)不同(b)相同(c)相容(d)部分相同4.下面函数原型声明中,(b)声明了fun为纯虚函数。(a)voidfun()=0;(b)virtualvoidfun()=0;(c)virtualvoidfun();(d)virtualvoidfun(){}

2、;5.若一个类中含有纯虚函数,则该类称为(d)。(a)基类(b)纯基类(c)派生类(d) 抽象类6.假设Aclass为抽象类,下列声明(a,c,d)是错误的。(a)Aclassfun(int);(b)Aclass*p;(c)intfun(Aclass);(d)AclassObj;7.下面描述中,正确的是(b,d)。(a)虚函数是没有实现的函数(b)纯虚函数的实现在派生类定义(c)抽象类是只有纯虚函数的类(d)抽象类指针可以指向不同的派生类8.2阅读下列程序,写出执行结果1.#includeclassBclass{public:Bclass(inti,intj){x=i;

3、y=j;}virtualintfun(){return0;}protected:intx,y;};classIclass:publicBclass{public:Iclass(inti,intj,intk):Bclass(i,j){z=k;}intfun(){return(x+y+z)/3;}private:intz;};voidmain(){Iclassobj(2,4,10);Bclassp1=obj;cout<

4、obj;cout<fun()<classBASE{public:virtualvoidgetxy(inti,intj=0){x=i;y=j;}virtualvoidfun()=0;protected:intx,y;};classA:publicBASE{public:voidfun(){cout<<"x="<

5、out<<"y=x/y="<getxy(10);pb->fun();pb=&obj2;pb->getxy(100,20);pb->fun();}答案:x=10y=x*x=100x=100y=20y=x/y=58.3 编程题1.使用虚函数编写程序求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类circle作为基类。在circle类中定义一个数据成员radius和两个虚函数area()和volume()。由circle类派生sphere类和col

6、umn类。在派生类中对虚函数area()和volume()重新定义,分别求球体和圆柱体的体积及表面积。解答:#includeconstdoublePI=3.;classcircle{public:circle(doubler){radius=r;}virtualdoublearea(){return0.0;}virtualdoublevolume(){return0.0;}protected:doubleradius;};classsphere:publiccircle{public:sphere(doubler):circle(r){}doublearea(){ret

7、urn4.0*PI*radius*radius;}doublevolume(){return4.0*PI*radius*radius*radius/3.0;}};classcolumn:publiccircle{public:column(doubler,doubleh):circle(r){height=h;}doublearea(){return2.0*PI*radius*(height+ra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。