使用c++语言设计一个稍微复杂的程序,需要使用类与继承和派生
时间: 2024-02-11 12:06:02 浏览: 95
从一个基类派生一个类的一般格式为-C++程序设计(谭浩强完整版)
好的,这里我给您提供一个稍微复杂一些的程序示例,它使用了类与继承和派生的概念:
```
#include <iostream>
using namespace std;
// 定义一个基类Shape
class Shape {
public:
virtual int getArea() = 0; // 纯虚函数
void setWidth(int w) {
width = w;
}
void setHeight(int h) {
height = h;
}
protected:
int width;
int height;
};
// 定义派生类Rectangle
class Rectangle: public Shape {
public:
int getArea() {
return (width * height);
}
};
// 定义派生类Triangle
class Triangle: public Shape {
public:
int getArea() {
return (width * height)/2;
}
};
int main() {
Shape *shape;
Rectangle rect;
Triangle tri;
shape = ▭
shape->setWidth(5);
shape->setHeight(7);
cout << "矩形面积为:" << shape->getArea() << endl;
shape = &tri;
shape->setWidth(5);
shape->setHeight(7);
cout << "三角形面积为:" << shape->getArea() << endl;
return 0;
}
```
在这个程序中,我们定义了一个基类Shape,其中包含了宽和高两个属性,以及一个纯虚函数getArea()。然后我们定义了两个派生类Rectangle和Triangle,它们都继承了Shape类,并分别实现了计算矩形面积和三角形面积的方法getArea()。在主函数中,我们创建了一个Shape指针,然后分别将它指向Rectangle对象和Triangle对象,最后分别输出了矩形和三角形的面积。
这个程序使用了类与继承和派生的概念,通过继承基类Shape,并实现纯虚函数getArea(),我们可以实现多态性,使得程序更加灵活和可扩展。在主函数中,我们使用了Shape指针来指向不同的派生类对象,这样可以在运行时动态地确定所调用的方法,实现了多态性。这样可以提高代码的重用性和可扩展性,使得程序更加易于维护和扩展。
阅读全文