资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
上学吧(www.shangxueba.com) 第 1 页,共 6 页 上学吧为您提供“计算机等级考试”复习资料下载:http:/www.shangxueba.com/share/s23.html 如何学习如何学习 c+与面向对象:多态与面向对象:多态 虚函数与抽象类虚函数与抽象类 面向对象三大特性是什么? 如果我们记错的话,是类,继承,多态。 类与继承都讲过了,那多态哪? 其实函数重载就是多态的一种。 多态,就是多种形态的意思,就是说,一种事物可以表现出多种形态。就比如说我们,会吃饭,睡觉,会跑步;单单是跑步,可以慢跑,亦可以快跑。用一个成语来形容多态最恰当不过了:万种风情! 但是这次我不想说重载,我想说的是虚函数与抽象类。 class base public: int b; void print() cout 我们看看主函数,变化可大了: void main() base *pb; base b; grandson gs; derived1 d1; derived2 d2; pb = pb-print(); pb = pb-print(); pb = pb-print(); pb = pb-print(); 你可以试试,发生什么了。然后把 base 里 print()前的 virtual 去掉,看看又是什么结果。 要说的是“”的意上学吧(www.shangxueba.com) 第 4 页,共 6 页 上学吧为您提供“计算机等级考试”复习资料下载:http:/www.shangxueba.com/share/s23.html 思就是把指针 pb 指向基类 base 的对象 b。 虚函数是多态的基础。在这里,pb 指向了不同的类的对象,表现出了不同的形态,就实现了多态。 这种例子很多了, 比如我们都会笑, 但大家笑的神态都是不同的,有哈哈大笑, 有微笑, 有讪笑, 阴险的笑, 还有耻笑(不知道算不算)。 我们会跑,但人不是跑的最快的,许多动物跑的都很快,比如马(因为他们四条腿!): class animal public virtual void run() ; class people : virtual public animal public span lang=“EN-US“ void run() cout run(); pb = pb-run(); pb = pb-run(); 除了在你想变为虚函数的函数前加 virtual 外,后面再加上“ lang=“EN-US“= 0”,这样他就是一个纯虚函数了。 带有纯虚函数的类就成为抽象类:不能实例化,只能被继承。 所以我加注释那三句话加进去会报错的。 至此,c+面向对象的内容就讲完了。还有很多零散的内容,比如 const,&,static,new 与 delete,等等,我不想讲了,但我的日志还没写完,c+很重要的内容:stl,是不得不说的。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号