Cpp是支持多继承的,多继承场景下如何避免歧义(通过作用域作用符)

class BaseA
{
public:
    void print()
    {
        std::cout << "BaseA" << std::endl;
    }
};

class BaseB
{
public:
    void print()
    {
        std::cout << "BaseB" << std::endl;
    }
};

class   C : public BaseA, public BaseB
{
public:
    void print()
    {
        // 使用作用域限定符来指定要调用的成员函数
        BaseA::print();  // 调用 BaseA 的 print() 函数
        BaseB::print();  // 调用 BaseB 的 print() 函数
    }
};

int main() {
    C c;
    c.print();  // 输出 "BaseA" 和 "BaseB"
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_47414034/article/details/131171826