- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 。;内存变量
(程序);文本文件的打开与关闭
在文件操作前,需要将程序与被操作的文件联系起来,使程序可以“引用”文件。;文件的操作;小结
您可能关注的文档
- 第1课-水滴里的微生物.ppt
- 第1课时:认识东南西北.ppt
- 第1讲[我也会装机].ppt
- 第1课时相交线1-邻补角对顶角.ppt
- 第1课时“让牙齿每天晒太阳”心中有火山.ppt
- 第1课时原子核外电子的排布元素周期律.ppt
- 第20章:Sendmail服务器配置.ppt
- 第20讲策略路由配置.ppt
- 第1讲心理健康与大学生活2010-02-24.ppt
- 第1课鸦片战争与“南京条约”删定.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)