首页 > 解决方案 > 有什么方法可以从父类 C++ 调用子类的函数

问题描述

我是 C++ 中面向对象编程的新手,我一直想知道是否有一种方法可以从父类调用子类的函数

#include <iostream>
using namespace std;
class Shape
{
public:
    void display()
    {
        cout<< "This is a shape\n";
    }
};
class Polygon: public Shape
{
public:
    void display()
    {
        Shape::display();

        cout<< "Polygon is a shape\n";
    }
};
class Rectangle : public Polygon
{
public:
    void display()
    {
        Polygon::display();
        cout<< "Rectangle is a polygon\n";
    }
};
class Triangle: public Polygon
{
public:
    virtual void display()
    {
        cout<<"Triangle is a polygon\n";
    }
};
class Square: public Rectangle
{
public:
    void display()
    {
        Rectangle::display();
        cout<<"Square is a rectangle\n";
    }
};
int main() {
    Square shape;
    shape.display();

    return 0;
}

我想从 Polygon 类中调用 Triangle 类中的显示函数。或者有没有其他方法通过使用单个对象而不更改给定的继承级别来调用每个类的显示?

标签: c++inheritance

解决方案


推荐阅读