gpt4 book ai didi

c++ - 从子类调用基类

转载 作者:太空狗 更新时间:2023-10-29 23:39:57 24 4
gpt4 key购买 nike

假设我们有这个:

class A1
{
public:
void draw(){}
};

class A2
{
public:
void draw(){}
};

class A : public A1, public A2
{};

void main()
{
A a;
// I want to invoke the draw() of A1. How can I do that?
}

如果我只是做 a.draw() 之类的事情,它不会让我这样做,因为 A1::draw() 和 A2::draw() 都与此匹配。在这种情况下我能做什么?如何调用 A1 的 draw() ?

最佳答案

你可以这样写a.A1::draw();

#include <iostream>

class A1
{
public:
void draw(){ std::cout << "A1::draw()"; }
};

class A2
{
public:
void draw(){ std::cout << "A2::draw()"; }
};

class A : public A1, public A2
{};

int main()
{
A a;
a.A1::draw();
}

Live demo link

关于c++ - 从子类调用基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25567231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com