文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c++继承例题...

c++继承例题...

时间:2010-08-13  来源:Ellison1900

把定义平面直角坐标系上的一个点的类cpoint作为基类,派生出描述一条直线的类cline,
再派生出一个矩形类crect。要求成员函数能求出两点间距,矩形周长和面积。
#include<iostream>
#include<cmath>
using namespace std;
class cpoint
{
public:
int x,y;
public:
cpoint(int x=0,int y=0)
{
this->x=x;
this->y=y;
}
};
class cline:public cpoint
{
private:
cpoint p1,p2;
public:
cline(int a=0,int b=0,int c=0,int d=0)
:p1(a,b),p2(c,d)
{}
double length()//求两点间距
{
return sqrt((p2.y-p1.y)*(p2.y-p1.y)+(p2.x-p1.x)*(p2.x-p1.x));
}
};
class crect:public cline
{
private:
cline l1,l2;
public:
crect(int a=0,int b=0,int c=0,int d=0,int e=0,int f=0)
:
l1(a,b,c,d),l2(c,d,e,f)
{}
void girth()
{
cout<<"周长:"<<2*(l1.length()+l2.length()) <<endl;
}
void area()
{
cout<<"面积:"<<l1.length()*l2.length()<<endl;
}
};
int main()
{
crect c(0,0,2,0,2,1);
c.girth();
c.area();
return 0;
}
务必注意:基类的构造函数要有默认参数,这样派生类才能调用基类的构造函数
例如:cpoint(int x=0,int y=0)
{
this->x=x;
this->y=y;
}
如果改为
cpoint(int x,int y)
{
this->x=x;
this->y=y;
}
则会报错!
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载