gpt4 book ai didi

c++ - 调用基类的重载方法

转载 作者:可可西里 更新时间:2023-11-01 18:25:38 25 4
gpt4 key购买 nike

<分区>

我有这个代码:

#include <iostream>
#include <string>

using namespace std;

class A {
public: void Print(int i) {cout<<i;}
};

class B : public A {
public: void Print(string s) {cout<<s;}
};

int main() {
B bInstance;
bInstance.Print(1);
return 0;
}

这给了我一个错误:

error: invalid conversion from 'int' to 'const char*' [-fpermissive]

意味着它试图在不考虑继承的重载的情况下调用 B 的 Print。但是,A 的 Print 应该可以由 B 实例调用。事实上,如果我将调用更改为

bInstance.A::Print(1);

然后编译没有任何错误,但我想避免每次都必须编写类作用域运算符。有没有办法告诉编译器我正在尝试调用基类的函数重载?

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