C+中的同时重写和重载+; 大家好,我对下面的C++代码感到困惑,其中重载和重写是某种程度上的相似。
以下是我的编译器给出的错误(mingw32-g++内部代码::Blocks 13.12) 下面是生成它们的代码C+中的同时重写和重载+; 大家好,我对下面的C++代码感到困惑,其中重载和重写是某种程度上的相似。,c++,inheritance,overloading,overriding,overload-resolution,C++,Inheritance,Overloading,Overriding,Overload Resolution,以下是我的编译器给出的错误(mingw32-g++内部代码::Blocks 13.12) 下面是生成它们的代码 #include <iostream> using namespace std; class Base{ public: void show(int x){ cout<<"Method show in base class."<<endl; } void show(
#include <iostream>
using namespace std;
class Base{
public:
void show(int x){
cout<<"Method show in base class."<<endl;
}
void show(){
cout<<"Overloaded method show in base class."<<endl;
}
};
class Derived:public Base{
public:
void show(int x){
cout<<"Method show in derived class."<<endl;
}
};
int main(){
Derived d;
d.show();
}
#包括
使用名称空间std;
阶级基础{
公众:
无效显示(整数x){
cout这是名称隐藏。Derived::show
在Base
中隐藏同名的方法。您可以通过使用
来介绍它们
class Derived:public Base{
public:
using Base::show;
void show(int x){
cout<<"Method show in derived class."<<endl;
}
};
派生类:公共基{
公众:
使用Base::show;
无效显示(整数x){
coutLook up“隐藏规则”。您的编译器正在执行它需要执行的操作。
class Derived:public Base{
public:
using Base::show;
void show(int x){
cout<<"Method show in derived class."<<endl;
}
};