c++多态



C++多态是指在类继承中,子类可以重写父类的方法,并且子类对象可以在调用该方法时表现出不同的行为。C++中实现多态有两种方式:虚函数和模板。

1.虚函数

在父类中声明一个虚函数,可以被子类重写。在运行时,当调用这个虚函数时,根据对象的实际类型来确定调用的是哪个函数。

例如:

class Base{
public:
    virtual void func(){
        cout<<"Base Func"<<endl;
    }
};

class Derived:public Base{
public:
    void func(){
        cout<<"Derived Func"<<endl;
    }
};

int main(){
    Base* ptr = new Derived();
    ptr->func(); 
    //输出 Derived Func
}

2.模板

使用模板可以实现参数化多态。模板允许我们在编译时将类型作为参数传递给函数或类。这样可以在不同的类型之间进行操作而无需针对每个类型都编写不同的代码。

例如:

template<typename T>
T max(T a, T b){
    return a > b ? a : b;
}

int main(){
    int x = 5, y = 10;
    cout<<max(x, y)<<endl; //输出 10

    double m = 3.14, n = 6.28;
    cout<<max(m, n)<<endl; //输出 6.28
}

相关技术视频教程:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂

c/c++技术交流群:「链接」

© 版权声明

相关文章

3 条评论

  • 头像
    月明梨上雪 投稿者

    模板用于不同场景,算不得多态。

    无记录
    回复
  • 头像
    薄荷君梨小玥 读者

    模板不算啊,你这基本功不扎实

    无记录
    回复
  • 头像
    展会资源爆料 读者

    收藏了,感谢分享

    无记录
    回复