//by YewLi
//1、定义Circle类和Square类,Circle类的成员变量为半径和面积,Square类的成员变量为边长和面积。
//2、生成Circle类对象和Square类对象,并让Square类对象内接Circle类对象。
//3、给定Square类对象的边长,调用各自的计算面积的成员函数,分别计算各自的面积。
#include<iostream>
#include<cmath>
using namespace std;
class Circle{
public:
double r,s;
Circle(double rr){
r = sqrt(2)/2*rr,s = 3.14*r*r;
}
void ShowC(){
cout<<"The area of circle is "<<s<<endl;
}
};
class Square:public Circle{
public:
double l,s;
Square(double ll):Circle(ll/2){
l = ll,s = ll*ll;
}
void ShowS(){
cout<<"The area of square is "<<s<<endl;
}
};
int main(){
// Circle cir = Circle();
Square squ = Square(5);
squ.ShowS();
squ.ShowC();
return 0;
}
题目中没有非常明确地说要求两个类是什么关系,但按它内接的要求,继承是可以实现的。
然后用圆形类做了基类,正方形做子类,无内鬼(大概)。