多态
杜Xinyu
明明可以靠脸吃饭,却非要靠才华
展开
-
c++多态(四)——抽象类
概念: 抽象类也叫做接口类,在虚函数的后面写上=0;那么这个函数就变成了一个纯虚函数,包含纯虚函数的类叫做抽象类,其不能实例化出对象。继承了基类的派生类也不能实例化出对象,除非重写纯虚函数,只有重写了纯虚函数,派生类才能实例化对象。也就是说,纯虚函数规范了派生类必须重写虚函数,另外,纯虚函数更体现出了接口继承。 class car { public: virtual void Drive() = 0; }; class BMW :public car { public: virtual void Dr原创 2020-08-11 11:17:46 · 235 阅读 · 0 评论 -
c++多态(三)—— C++11 中的override 和 final
由来: C++对函数重写的要求比较严格,但是有些情况下由于疏忽,可能会导致函数名字母次序 写反而无法构成重载,而这种错误在编译期间是不会报出的,只有在程序运行时没有得到预期结果才来 debug会得不偿失,因此:C++11提供了override和final两个关键字,可以帮助用户检测是否重写。 final: 修饰虚函数,表示该虚函数不能再被继承 class Car { public: virtual void Drive() final {} }; class Maserati:public原创 2020-07-31 16:22:17 · 139 阅读 · 0 评论