c++多态抽象类内接外切正方形
时间: 2024-02-29 15:49:59 浏览: 103
C++中的多态是一种面向对象编程的特性,它允许一个基类的指针或引用可以指向派生类的对象,并且通过这个指针或引用调用相应的成员函数。多态性通过虚函数来实现。
抽象类是一种不能被实例化的类,它只能作为其他类的基类使用。抽象类中可以包含纯虚函数,即没有实现的虚函数。派生类必须实现这些纯虚函数才能被实例化。
内接正方形是指一个正方形完全嵌套在另一个形状内部,且四个顶点分别在该形状的四条边上。外切正方形是指一个正方形完全包围住另一个形状,且该形状的四个顶点分别在正方形的四条边上。
下面是一个示例代码,展示了多态、抽象类和内接外切正方形的概念:
```cpp
#include <iostream>
// 抽象类 Shape
class Shape {
public:
virtual void draw() = 0; // 纯虚函数
};
// 派生类 Square
class Square : public Shape {
public:
void draw() override {
std::cout << "Drawing a square." << std::endl;
}
};
// 派生类 Circle
class Circle : public Shape {
public:
void draw() override {
std::cout << "Drawing a circle." << std::endl;
}
};
int main() {
Square square;
Circle circle;
Shape* shape1 = □ // 基类指针指向派生类对象
Shape* shape2 = &circle; // 基类指针指向派生类对象
shape1->draw(); // 多态调用,输出 "Drawing a square."
shape2->draw(); // 多态调用,输出 "Drawing a circle."
return 0;
}
```
阅读全文