您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页抽象类 虚函数 声明与实现

抽象类 虚函数 声明与实现

来源:伴沃教育

声明含 virtual 的函数叫虚函数。

声明为 virtual returntype foo(参数) = 0; 的虚函数叫纯虚函数。纯虚函数只能声明,不能实现。

包含至少一个纯虚函数的类叫抽象类(纯虚类)。只包含纯虚函数的类叫纯抽象类(接口)。抽象类不能实例化(当然了,可以定义它的指针)。继承自抽象类的派生类必须全部实现基类的纯虚函数才能实例化,否则该派生类仍是抽象类。

 

普通成员函数(非virtual)可以只声明而不定义,当然了必须使用时未调用过它。析构函数声明后必须实现(因为它肯定会被调用)。构造,拷贝构造、复制函数可以声明不实现(必须有一可供使用的构造函数,其他构造函数可只声明)。

虚函数必须实现,否则编译出错。

构造函数不可以是虚函数--见,讲的很详细

析构函数使用多态时基类应声明为虚函数,否则析构时不会调用派生类的析构函数。当然,有的接口(纯抽象类)并没有看到它的虚析构函数,那是因为没有用到多态,若用到了多态最好声明实现虚析构函数。注意实现两字,接口类的虚析构函数要实现。

析构函数可以是纯虚函数(派生类此时必须要显式声明并实现析构函数):用途,当需要提供一个空接口时!

转载于:https://www.cnblogs.com/sfqtsh/p/5143110.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务