C++ 函数重载的时候,参数可以用父类类型和子类类型重载吗?

查看:336
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆