C++多态性的概念及使用

2025-04-15 22:10:44

C++中类的继承中有多态性的概念,所谓的多态就是在类里使用虚函数后,用父类作为对象指针,来正确的调用不同子类或父类来作为相应虚函数。虚基类实际就是继承时使用virtual关键字来定义,为的是让在多重继承时遇到相同的基类时只保留一份,以确定其使用那个类。

详细

1、例子定义了四个类A、B、觊皱筠桡C、D,其中B、C继承了A,而D继承了B、C。然后我们用A类,定义了四个指针分别指向不同的对象,这时指针根据不同的类对象正确输出,这就是所说的多态性。倘若不使用虚函数virtual来实现多态性,那么由于指针仅是A类,所以只能打印出A.Show(),而不能输出子类的函数。

2、另外还需要注意的是,该例还使用了虚基类A,子类D继承B、C,由于B、C都继承A类,基类A在派生类D看来是两个基类,会无法确定基类。因此继承时使用了virtual public A表示为虚基类。这样就不会因为B、C有共同的父类造成冲突。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢