输出结果如下: a=0 b=0 c=0 a=1 b=0 c=0 a=1 b=3 c=0 a=1 b=3 c=5
8、有以下程序,请完成下面的工作: ① 阅读程序,写出运行时输出的结果。 #include
A(){cout<<\ ~A(){cout<<\};
class B : public A {
public:
B(){cout<<\ ~B(){cout<<\};
class C : public B {
public:
C(){cout<<\ ~C(){cout<<\};
int main() {
C c1; return 0; }
输出结果如下: constrcting A constrcting B constrcting C destrcting C destrcting B destrcting A
习题六
4、写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三只的面积,3个图形的数据在定义对象时给出。 代码如下:
#include
public:
void virtual printArea() = 0;//纯虚函数 };
//派生类Circle
class Circle : public Shape {
public:
Circle(double r = 0):radius(r){}//构造函数
void printArea(){cout<<3.14159 * radius * radius< double radius;//数据成员,表示半径 }; //派生类Rectangle class Rectangle : public Shape { public: Rectangle(double w,double h):width(w),height(h){}//构造函数 void printArea(){cout< double width;//数据成员,表示宽 double height;//数据成员,表示长 }; //派生类Triangle class Triangle : public Shape { public: Triangle(double w,double h):width(w),height(h){} //构造函数 void printArea(){cout< double width;//数据成员,表示底 double height;//数据成员,表示高 }; //主函数 int main() { Shape *s; Circle circle(1.0); Rectangle rectangle(1.0,1.0); Triangle triangle(1.0,1.0); s = &circle; s->printArea(); s = &rectangle; s->printArea(); s = ▵ s->printArea(); return 0; } 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库面向对象程序设计作业参考答案(3)在线全文阅读。
相关推荐: