- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C面对象作业三
定义一个类B,该类包含用于输出信息的成员函数vf(),再设计一个继承于该类的派生类D,也包含用于输出信息的成员函数vf(),调用这两个函数,实现编译时的多态。
Class B {
Public:
Void vf(){cout””endl;}
}
Class D:public B{
Public:
Void vf(){cout””endl;}
}
Int main(){
B b,*pb;
D d,*pd;
Pb=b;
Pb-vf();
Pb=d;
Pb-vf();
Pd=(D*)B; pd-vf();
Pd=d; pd-vf();
}
若改成运行时多态;
Public B{
Public:
Void virtual vf(){cout””endl;}
}
应用抽象类,求圆、圆内接正方形和圆外切正方形的面积和周长。
Class base{
Public:
Virtual void display()=0;
};
Class circle:public base{
Protected:
Double r,s,p;
Public:
Circle(double x=0){r=x;}
void display(){
Cout””r*r*PIendl;
Cout””PI*R*2endl;
}
}
Class incircle:public circle{
Double a;
Public:
Incircle(double x=0):circle(x){}
Void display(){
A=sqrt(r)?;
Cout”内切正方形面积”a*aendl;
Cout”内切正方形周长”4*aendl;
}
};
Class outcircle:public circle{
Public:
Outcircle(double x=0):circle(x){}
Void display(){
Cout”外切正方形面积”4*r*rendl;
Cout”外切正方形周长”8*rendl;
}
}
定义3个类A、B和C,其中类B继承于类A,类C继承于类B,其都包含函数f(),用于表明当前执行的是哪个类的f()函数。
Class A{
Public:
A(){cout””endl;}
Virtual ~A(){cout””endl;}
Virtual void f(){cout””endl}
Void g(){f();}
}
Class B:public A{
Public:
B(){f();cout””endl;}
~B(){cout””endl;}
}
Class c:public b{
Public:
C(){cout””endl}
~C(){cout?“”endl?;?}
Void f(){cout?“”endl?;}
}
设计类Vehicle和类Car,定义其中的showmember()成员函数为虚函数。
Class Vehicle{
Public:
Virtual void showmember(){
Cout””endl;
}
}
Class Car:public Vehicle{
Public:
Void showmember(){
Cout”car”endl;
}
}
设计一个抽象类Shape,使得其派生类Square、Circle和Rectangle都能定义计算面积函数Area()。
Class shape{
Public:
Virtual void area()=0;
}
Class Square:public shape{
Int a;
Public:
Double area(int a){
Return a*a;
}
}
Class Circle:public shape{
Int r;
Public:
Double area(int r){
Return pi*r*r;
}
}
Class Rectangle:public shape{
Int l,w;
Public:
Double area(int l,int w){
Return l*w
文档评论(0)