gpt4 book ai didi

C++多态和虚函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:50 27 4
gpt4 key购买 nike

是否可以从 B 调用虚函数 foo( int ) 而无需使用注释中的内容?

class A {
public:

virtual void foo ( char * ) {
}

virtual void foo ( int ) {
}
};

class B : public A {
public:

void foo ( char * ) {
}

//void foo ( int i ) {
//
// A::foo(i);
//}
};

B b;
b.foo(123); // cannot convert argument 1 from 'int' to 'char *'

最佳答案

是的,这是可能的。这里的问题是函数 B::foo(char*) 隐藏继承函数 A::foo(int) 的名称,但您可以使用 using 声明将它带回 B 的范围:

class B : public A {
public:

void foo ( char * ) {
}

using A::foo;
};

关于C++多态和虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793224/

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