直接看实例:
35 class A36 {
37 public:
38 void f(){cout <<"call f() by class A" << endl;};
39 virtual void g(){cout << "call g() by class A"<< endl;};
40 void k(int a){cout << "call k(int) by class A"<< endl;};
41 };
42 class AA:public A
43 {
44 public:
45 void f(int){cout << "call f() by class AA" << endl;};//基类的f()被隐藏
46 void g(){cout << "call g() by class AA " << endl;};//基类的虚函数被覆盖:函数名、参数完全相同,返回值不做强制要求
47 void k(int a, int b){f(a);cout << "call k(int, int) by class AA" << endl;};//基类的k(int a)被隐藏
void f(char){cout << "call f() overload by class AA" << endl;};//函数的重载
48 };49
50
51 int main()
52 {
63 AA aa;
64 aa.f(20);
aa.f('a');
65 aa.g();66 aa.k(10,20);
67 //aa.k(30);
return 0;
}