//头文件
#ifndef SHAPE_H
#define SHAPE_Hclass Shape
{
public:
Shape();
};
class Rectangle:public Shape
{
public:
Rectangle(float xx,float yy);
void cularea();
void culclgh();
private:
float x,y;
};
class Circle:public Shape
{
public:
Circle(float rr);
void cularea();
void culclgh();
private:
float r;
};
class Square:public Rectangle
{
public:
Square(float zz,float xx,float yy);
private:
float z;
};
#endif // SHAPE_H
//源文件
#include <iostream>
using namespace std;
#include "shape.h"
#define pai 3.1415926
Shape::Shape()
{
}
Rectangle::Rectangle(float xx, float yy)
{
x=xx;
y=yy;
}
void Rectangle::cularea()
{
float a,b,s;
cout<<"Please input len and widge!"<<endl;
cin>>a>>b;
s=a*b;
cout<<"the area is:"<<s<<endl;
}
void Rectangle::culclgh()
{
float a,b,c;
cout<<"Please input len and widge!"<<endl;
cin>>a,b;
c=2*(a+b);
cout<<"the Perimeter is:"<<c<<endl;
}
Circle::Circle(float rr)
{
r=rr;
}
void Circle::cularea()
{
float rr,s;
cout<<"Please input the radius!"<<endl;
cin>>rr;
s=pai*rr*rr;
cout<<"the area is:"<<s<<endl;
}
void Circle::culclgh()
{
float rr,c;
cout<<"Please input the radius!"<<endl;
cin>>rr;
c=2*pai*rr;
cout<<"the Perimeter is:"<<c<<endl;
}
Square::Square(float zz,float xx,float yy):z(zz),Rectangle(xx,yy)
{
}
//主函数
#include <iostream>
#include <shape.cpp>
using namespace std;
int main(int argc, char *argv[])
{
cout << "Hello World!" << endl;
int i;
cout<<"1.Rectangle 2.Circle 3.Square"<<endl;
cin>>i;
if(i==1)
{
Rectangle A(0,0);
A.cularea();
A.culclgh();
}
if(i==2)
{
Circle C(0);
C.cularea();
C.culclgh();
}
if(i!=1&&i!=2)
{
cout<<"haha!"<<endl;
cout<<"GG"<<endl;
}
return 0;
}