写一个程序要求用到继承与多态c++
下面是一个例子,展示了如何使用继承和多态(virtual 函数)在 C++ 中实现一个简单的程序。
这段代码中定义了一个基类 Shape,它有一个纯虚函数 draw。接着定义了两个派生类 Circle 和 Square,它们分别继承了 Shape 类,并实现了 draw 函数。在 main 函数中,通过多态(virtual 函数)调用派生类的 draw 函数,可以分别打印出“Drawing a circle”和“Drawing a square”。
#include
// 定义一个基类 Shape
class Shape
{
public:
// 声明一个虚函数 draw,用于在派生类中实现
virtual void draw() = 0;
};
// 定义一个派生类 Circle
class Circle : public Shape
{
public:
// 实现基类中的虚函数 draw
void draw() override
{
std::cout << "Drawing a circle" << std::endl;
}
};
// 定义一个派生类 Square
class Square : public Shape
{
public:
// 实现基类中的虚函数 draw
void draw() override
{
std::cout << "Drawing a square" << std::endl;
}
};
int main()
{
// 创建一个 Circle 类的实例
Circle circle;
// 创建一个 Square 类的实例
Square square;
// 使用多态调用派生类中的 draw 函数
circle.draw();
square.draw();
return 0;
}