定义一个shape类,在此基类基础上派生Rectangele 和circle类,二者都有getarea()函数计算对象的面积,使用Rectangele 类创建一个派生类square类。请设计各个类并进
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #include<iostream> using namespace std; class shape { public: virtual double getarea()=0;
}; class Rectangele:public shape { private: double longth; double width; public: Rectangele(double a,double b) { longth=a; width=b; } ~Rectangele() {cout<<"Rectangele释放"<<endl;} double getarea() {return longth*width;} }; class circle:public shape { private: double r; public: circle(double a) {r=a;} ~circle() {cout<<"circle释放"<<endl;} double getarea() {return 3.14*r*r;} }; class square:public shape { private: double a; public: square(double aa) {a=aa;} ~square() {cout<<"square释放"<<endl;} double getarea() {return a*a;}
}; void main() { Rectangele A(1,2); cout<<A.getarea()<<endl; circle B(2); cout<<B.getarea()<<endl; square C(3); cout<<C.getarea()<<endl; }
|