C++中类的虚函数和纯虚函数以及实例化

您所在的位置:网站首页 纯虚函数的声明格式怎么写好呢 C++中类的虚函数和纯虚函数以及实例化

C++中类的虚函数和纯虚函数以及实例化

2024-07-03 04:41| 来源: 网络整理| 查看: 265

        C++中类的虚函数和纯虚函数以及实例化

   让我们来继续学习C++的一些基本语法知识,今天我们要讲解的是C++中虚函数和纯虚函数。这个也可以说是C++的精华了,因为C++的实现多态就是靠的这个。

(1).含有虚函数的类是可以被实例化的,下面来直接上代码和运行结果:

class VirtualClass{ public: virtual void fun1() { printf("VirtualClass\n"); }; virtual ~VirtualClass(); }; int main(){ VirtualClass * virtualClass = new VirtualClass(); virtualClass->fun1(); return 0; } //打印结果如下: A920:/system/bin # ./VirtualClass This VirtualClass fun1 A920:/system/bin #

(2).含有纯虚函数的类是不可以被实例化的,必须被继承,才能够被实例化,下面直接上演示代码来说明:

class VirtualClass{ public: virtual void fun1() = 0;//纯虚函数 virtual ~VirtualClass(); }; class ClassA : public VirtualClass{ public: void fun1(){ printf("The is ClassA fun1\n"); }; virtual ~ClassA(); }; VirtualClass:: ~VirtualClass(){ } ClassA:: ~ClassA(){ } int main(){ //编译报错,这个非法的 VirtualClass * virtualClass = new VirtualClass();//error: cannot allocate an object of abstract type 'VirtualClass' VirtualClass * classA = new ClassA(); classA->fun1(); return 0; }

   最后总结一把,C++中含有虚函数的类是可以实例化的,含有纯虚函数的类只能被继承,不能被实例化。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3