下载此文档

实验六 继承三 —— 多继承及继承的应用.docx


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍

实验六__继承三_——_多继承及继承的应用
电脑学问文档
试验六继承㈢——多继承及继承的应用
一、试验目的
1.理解多继承的概念,熟识多继承的定义及应用;
2.理解多继承方式下的二义性产示y的值
show_z();//显示z的值
}
};
voidmain()
{Zobj1(3,4,5),obj2;
(10,20,30);
();cout<<endl;
();cout<<endl;
}
问题:
电脑学问文档










⑴编译该程序,会出现编译错误,其缘由是在定义Z类的print()成员函数中的show()函数调用时出现了
⑵将“show();
⑶将“show();。解决的方法是://显示x的值”中的“show()”改为//显示y的值”中的“show()”改为
⑷调试胜利后的输出结果是:

是成员函数voidset_xyz(inta,intb,intc)中“set_x(a)”的作用,“set_y(b)”的作用是。
程序2〔〕
#include<>
classbase
{private:
inta;
public:
base(intx)
{a=x;
cout<<Constructingbasea=<<a<<endl;
}
};
classbase1:publicbase
{private:










intb;
public:
base1(intx1,intx2):base(x1)
{b=x2;
cout<<Constructingbase1b=<<b<<endl;
}
};
classbase2:publicbase
{private:
intc;
public:
base2(intx1,intx2):base(x1)
{c=x2;
cout<<Constructingbase2c=<<c<<endl;
}
};
classderived:publicbase1,publicbase2
{private:
intd;
public:
电脑学问文档
derived(intx1,intx2,intx3,intx4):base1(x1,x2),base2(x1,x3)










{d=x4;
cout<<Constructingderivedd=<<d<<endl;
}
};
voidmain(void)
{derivedobj(2,3,4,5);}
问题:
⑹编译运行程序的输出结果是:
⑺从输出结果中可看出,间接基类“base”被调用了两次,产生缘由是“derived”的两个干脆基类“base1”、“base2”拥有共同基类“base”,产生了。
⑻将程序中“classbase1:publicbase”改为“classbase1:virtualpublicbase”
“classbase2:publicbase”改为“classbase2:virtualpublicbase”
“derived(intx1,intx2,intx3,intx4):base1(x1,x2),base2(x1,x3)”改为
“derived(intx1,intx2,intx3,intx4):base(x1),base1(x

实验六 继承三 —— 多继承及继承的应用 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人羹羹
  • 文件大小37 KB
  • 时间2022-04-27