#include<iostream>
using namespace std;
class Base
{
public:
virtual void f1() = 0;
virtual void f1(int) { cout << "base f1(int)" << endl; };
virtual void f2() { cout << "base f2()" << endl; };
void f3() { cout << "base f3()" << endl; };
void f3(double) { cout << "Base f3(doble)" << endl; };
private:
};
class Derive:public Base {
public:
void f1() {
cout << "derive f1()" << endl;
}
void f3() {
cout << "derive f3()" << endl;
}
};
int main() {
Derive d;
d.f1();
d.f3();
//d.f1(2);//出错!,Derive重写了Base的f1(),Base的 f1(int)失效!
d.Base::f1(2);//如果要调用Base的f1(int),可以在f1(2)前声明是Base::空间的!!
system("pause");
}