📄 17-8.txt
字号:
/* 范例:17-8 */
#include <iostream.h>
class A
{
public:
A():a(1){}
int a;
void fun1(){cout << "fun1 in a\n";} // #1
void fun2(){cout << "fun2 in a\n";} // #2
void fun3(){cout << "fun3 in a\n";} // #3
};
class B:public A
{
public:
B():a(2){}
int a; // A::a 被隐藏
// int fun1(){return 10;} // ok => override #1.0
void fun1(){cout << "fun1 in b\n";} // override #1.1
void fun1(int k){cout << "fun1(int) in b\n";}
// overload #1.2
void fun2(int k){cout << "fun2(int) in b\n";}
// ?override ? overload #2.1
};
void main()
{
B obj1;
cout << obj1.a << "\n";
obj1.fun1();
obj1.fun1(7);
obj1.fun2(8);
//obj1.fun2(); // error #4
obj1.fun3();
// 以A::获得被隐藏的fun1()
cout << obj1.A::a << "\n";
obj1.A::fun1();
obj1.A::fun2();
getchar();
}
程序执行结果:
2
fun1 in b
fun1(int) in b
fun2(int) in b
fun3 in a
1
fun1 in a
fun2 in a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -