C++ 函数重载的时候,参数可以用父类类型和子类类型重载吗?
本文介绍了C++ 函数重载的时候,参数可以用父类类型和子类类型重载吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我用C++编程的时候需要对函数进行重载,使函数拥有不同的参数类型,分别是父类类型和子类类型,这样用重载会不会有问题?
解决方案
可以的,例如这段代码。
#include <iostream>
class A{
public:
int value;
A(int x):value(x){};
};
class B:public A{
public:
int base;
B(int x, int y):A(x),base(y){};
};
void print(A a){
std::cout << a.value << std::endl;
}
void print(B b){
std::cout << b.value << " " << b.base << std::endl;
}
int main(){
A a(1);
B b(1,2);
print(a);
print(b);
return 0;
}
输出的就是
1
1 2
这篇关于C++ 函数重载的时候,参数可以用父类类型和子类类型重载吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文