高防服务器

C++类继承怎么应用


C++类继承怎么应用

发布时间:2022-04-14 16:50:35 来源:高防服务器网 阅读:77 作者:iii 栏目:编程语言

本篇内容主要讲解“C++类继承怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++类继承怎么应用”吧!

类的继承会首先寻找基类,若基类未实现,则会寻找派生类的函数

1. class继承,函数不继承

#include <stdio.h>     class Base  {  public:    Base(){}    ~Base(){}       int a;    void setA()    {      a = 1;    }  };     class A:public Base  {  public:    A(){}    ~A(){}         void setA()    {      a = 2;    }       };     class B:public Base  {  public:    B(){}    ~B(){}         void setA()    {      a = 3;    }  };     int main()  {    A *ax = new A();    B *bx = new B();    Base *aClass = ax;    Base *bClass = bx;    aClass->setA();    bClass->setA();       printf("a value of a %dn", aClass->a);    printf("a value of b %dn", bClass->a);    return 0;  }

2. 函数和Class都继承

#include <stdio.h>     class Base  {  public:    Base(){}    ~Base(){}       int a;    virtual void setA()    {      a = 1;    }  };     class A:public Base  {  public:    A(){}    ~A(){}         virtual void setA()    {      a = 2;    }       };     class B:public Base  {  public:    B(){}    ~B(){}         virtual void setA()    {      a = 3;    }  };     int main()  {    A *ax = new A();    B *bx = new B();    Base *aClass = ax;    Base *bClass = bx;    aClass->setA();    bClass->setA();       printf("a value of a %dn", aClass->a);    printf("a value of b %dn", bClass->a);    return 0;  }

运行结果:注意派生类中可以不写virtual,最好写上,以辨别是函数继承

若将2中基类的函数写为纯虚函数,运行的结果一样,但是如果基类是纯虚函数,派生类必须实现相应的函数。

class Base  {  public:    Base(){}    ~Base(){}       int a;    virtual void setA()=0;       };

3. 类A中不有函数,则继承自基类

class A:public Base  {  public:    A(){}    ~A(){}       };

到此,相信大家对“C++类继承怎么应用”有了更深的了解,不妨来实际操作一番吧!这里是高防服务器网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[