3、将定义直角坐标系上一个点的类作为基类,派生出描述一条直线的类(两点坐标确定一直线),再派生出三角 10

3、将定义直角坐标系上一个点的类作为基类,派生出描述一条直线的类(两点坐标确定一直线),再派生出三角形类(三点坐标确定一个三角形)。要求成员函数能求出两个点间的距离、三角... 3、将定义直角坐标系上一个点的类作为基类,派生出描述一条直线的类(两点坐标确定一直线),再派生出三角形类(三点坐标确定一个三角形)。要求成员函数能求出两个点间的距离、三角形的周长和面积。设计一个测试程序,并构成完整的程序
帮忙也个完整的程序,急需,谢谢了,呵呵
展开
 我来答
高启强聊情感
高粉答主

2020-06-05 · 关注我不会让你失望
知道大有可为答主
回答量:5789
采纳率:100%
帮助的人:154万
展开全部

程序如下:

#include <iostream>

#include<Cmath>

using namespace std;

const double PI = 3.1415926;

class Shape

{

public:

virtual void area( ) =0;

};

//圆

class circle:public Shape

{

double r;

public:

circle(double i):r(i){}

void area( )

{ cout << "圆的面积:" << r*r*PI << endl; }

};

class Retangle:public Shape

{

double a, b, s;

public:

Retangle(double x=0,double y=0)

{

a=x;

b=y;

}

void area( )

{

s = a*b;

cout << "长方形面积:" << s << endl;

}

};

class Triangle:public Shape

{

double a, b, s;

public:

Triangle(double i, double j):a(i), b(j){}

void area( )

{

s = (a*b)/2;

cout << "三角形面积:" << s << endl;

}

};

int main( )

{

double r, a, b, c, d;

cin >> r >> a >> b >> c >> d;

Shape *p;

circle c1(r);

p = &c1;

p -> area();

Retangle c2(a, b);

p = &c2;

p -> area();

Triangle c3(c, d);

p = &c3;

p -> area();

return 0;

}

扩展资料:

在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。

继承性是面向对象程序设计的一个最重要的概念。继承性允许在构成软件系统的层次结构中利用已经存在的类并扩充它们,以支持新的功能。这使得编程者只需要在新类中定义已经存在的类中所没有的成分来建立新类,从而大大提高了软件的可重用性和可维护性。

对于客观世界中既有共性又有差别的两个类别以上的实体是不可能被抽象成一个class类型来描述的,编程者往往采用继承的方法。首先定义一个包含所有实体共性的class类型作为“基类”,然后,从该基类中继承所有信息,再添加新的信息,来构成新的类。

在构建新类的过程中,新建立的类被称为“子类”或者“派生类”;而被继承的包含相同特征的类称为“父类”或者“基类”。派生类继承了基类的全部成员,并且可以增加基类所没有的数据成员和成员函数,以满足描述新对象的需求。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式