CPP学习之——两义性在重载时的一些问题(12.15)

一 概述

父类的重载方法有两个及以上,子类在重载此方法时,应该注意哪些问题,这是本节课的主要内容

二 示例演示及结果输出

2.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<iostream>
using namespace std;
class A {
public:
void hello() {
cout << "基类A的hello函数" << endl;
}
void hello(int i) {
cout << "A.hello(i):" << i << endl;
cout << "基类A的带有一个参数的hello函数" << endl;
}
};
class B: public A {
public:
void hello() {
cout << "子类B的hello函数" << endl;
}
void hello(int i) {
cout << "B.hello(i):" << i << endl;
cout << "子类B的带有一个参数的hello函数" << endl;
}
};
int main() {
B b;
b.hello();
b.hello(1);
A a;
a.hello();
a.hello(1);
return 0;
}

2.2 输出结果

1
2
3
4
5
6
子类B的hello函数
B.hello(i):1
子类B的带有一个参数的hello函数
基类A的hello函数
A.hello(i):1
基类A的带有一个参数的hello函数