第6章B多态性和虚函数及IO.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章B多态性和虚函数及IO

第六章 多态性和虚函数;(三)纯虚函数和抽象类;class A{ protected: int x; public: A(){x =1000;} virtual void print()=0; //定义纯虚函数 }; class B:public A{ //派生类 private: int y; public: B(){ y=2000;} void print(){cout “y=”y‘\n’;}//重新定义纯虚函数 }; class C:public A{ //派生类 int z; public: C(){z=3000;} void print(){cout “z=”z‘\n’;}//重新定义纯虚函数 }; void main(void ) { A *pa; B b; C c; pa=b; pa-print(); pa=c; pa-print(); A a; pa=a; pa-print( ); };1.在定义纯虚函数时,不能定义虚函数的实现部分,也即没有函数体。 2.把函数名赋于0,本质上是将指向函数的指针值赋为初值0。与定义空函数不一样,空函数的函数体为空,即调用该函数时,不执行任何动作。在没有重新定义这种纯虚函数之前,是不能调用这种函数的。 3.如果在一个类中声明了纯虚函数,而派生类中没对该函数定义,则该函数在派生类中还是纯虚函数。;class base { protected: int x; public: void setx(int i) { x=i; } virtual void disp()=0; //说明纯虚函数 }; class Square:public base { public: void disp() { coutx=x:; coutx square=x*xendl; } };;class Cube:public base { public: void disp() { coutx=x:; coutx cube=x*x*xendl; } }; #include iostream.h void main() { base *ptr; Square B; Cube C; ptr=B; ptr-setx(5); ptr-disp(); ptr=C; ptr-setx(6); ptr-disp(); };(三)纯虚函数和抽象类;(三)纯虚函数和抽象类;例 分析一下程序的执行结果;(四)综合例子;(四)综合例子;(四)综合例子;(四)综合例子;(四)综合例子;下面程序的输出是 。 class A{ protected:int x; public:A(){x =1000;} virtual void p(){cout x=x\n; p2();} virtual void p2(){coutA::p2()endl;} }; class C:public A{ int z; public:C(){z=3000;} void p(){cout z=z\n; C::p2();} virtual void p2(){coutC::p2()endl;} }; void main(void ){ C c; A a,*pa=a; pa-p(); pa=c;pa-p();};练习:;练习:;第7章 输入/输出流类库 ;编译系统已经以运算符或函数的形式做好了对标准外设(键盘、屏幕、打印机、文件)的接口,使用时只需按照要求的格式调用即可。;输入输出流(I/O Stream) C++语言的I/O系统向用户提供一个统一的接口,使得程序的设计尽量与所访问的具体设备无关,在用户与设备之间提供了一个抽象的界面:输入输出流。; 用标准流进行输入/输出时,系统自动地完成数据类型的转换。对于输入流,要将输入的字符序列形式的数据变换成计算机内部形式的数据(二进制或ASCII)后,再赋给变量,变换后的格式由变量的类型确定。对于输出流,将要输出的数据变换成字符串形式后,送到输出流(文件)中。 ; 文件流 C++在头文件fstream.h中定义了C++的文件流类体系 ,当程序中使用文件时,要包含头文件fstream.h 。;内存变量 (程序);文本文件的打开与关闭 在文件操作前,需要将程序与被操作的文件联系起来,使程序可以“引用”文件。;文件的操作;小结

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档