C++设计一个矩形类,派生出长方形正方形,计算周长和面积

如题所述

#include <iostream.h>class juxing //矩形类
{
public:
float a;//矩形的长
float b;//宽
public:
juxing(float x,float y)//初始化
{
a=x;
b=y;
}
public:
float getS()//面积
{
return (float)(a*b);
}
float getC()//周长
{
return (float)((a+b)*2.0);
}
};class changfangxing:public juxing
{
public :
changfangxing(float a,float b):juxing(a,b)
{
}
};class zhengfangxing :public juxing //正方形
{
public:
zhengfangxing(float a):juxing(a,a)
{
}
float getS()//面积
{
return (float)(a*a);
}
float getC()//周长
{
return (float)(a*4.0);
}
};
void main()
{
changfangxing a(12.0,23.0);//构造长方形
zhengfangxing b(13.0);//构造正方形 cout<<"长方形面积:"<<a.getS()<<"长方形周长"<<a.getC()<<endl;
cout<<"正方形面积:"<<b.getS()<<"正方形周长"<<b.getC()<<endl;
return ;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-10
class RecT//矩形
{
public:
virtual int Perim()//周长
{
} virtual int Area()//面积
{
}
};class Square : public RecT//正方形
{
public:
Square(int side)
{
m_side = side;
}
virtual int Perim()//
{
return m_side*4;
}

virtual int Area()//
{
return m_side*m_side;
}
private:
int m_side;
};class Rectangle : public RecT//长方形
{
public:
Rectangle(int height, int width)
{
m_height = height;
m_width = width;
}
virtual int Perim()//
{
return (m_height+m_width)*2;
}

virtual int Area()//
{
return m_height*m_width;
}
private:
int m_width;
int m_height;
};
第2个回答  2018-12-01
#include<iostream>
using namespace std;
class graph
{
protected:
float high,wide;
public:
graph();
graph(float h,float w)
{
high=h;wide=w;cout<<"高为:"<<h<<"\t宽为:"<<w<<endl;} };

class retangle:public graph
{
public:
retangle(float h,float w):graph(h,w){}
void area()
{ cout<<"矩形的面积是:"<<high*wide<<endl;}
};

class triangle:public graph
{
public:
triangle(float h,float w):graph(h,w){}
void area()
{ cout<<"等腰三角形的面积是:"<<high*wide/2<<endl;}
};

void main()
{ retangle g(2,3);
g.area();
triangle h(2,3);
h.area();
}