1 / 31
文档名称:

c 语言程序设计.ppt

格式:ppt   大小:567KB   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c 语言程序设计.ppt

上传人:2623466021 2022/5/28 文件大小:567 KB

下载得到文件列表

c 语言程序设计.ppt

相关文档

文档介绍

文档介绍:C 语言程序设计
*
2021/2/22
问题举例——复数的运算
class complex //复数类声明
{
public:
complex(double r=,double i=) //构造函数

程序自身彼此关联的过程,确定程序中的操作调用与执行该操作的代码间的关系。
静态绑定〔静态联编〕
联编工作出如今编译阶段,用对象名或者类名来限定要调用的函数。
动态绑定
联编工作在程序运行时执行,在程序运行时才确定将要调用的函数。
*
2021/2/22
静态绑定与动态绑定
静态绑定实例
*
2021/2/22
静态绑定与动态绑定
动态绑定实例
动态绑定也称为运行时的多态
动态绑定指在程序运行时才确定将要调用的代码在哪里? 编译程序时无法确定.
一样的消息发送给不同的对象,将导致不同的行为
*
2021/2/22
虚函数(总结)
虚函数是动态绑定的根底。
是非静态的成员函数。
在类的声明中,在函数原型之前写virtual。
virtual 只用来说明类声明中的原型,不能用在函数实现时。
具有继承性,基类中声明了虚函数,派生类中无论是否说明,同原型函数都自动为虚函数。
本质:不是重载声明而是覆盖。
调用方式:通过基类指针或引用,执行时会 根据指针指向的对象的类,决定调用哪个函数。
虚 函 数
*
2021/2/22
例 (自学,跳过)
#include <iostream>
using namespace std;
class B0 //基类B0声明
{public: //外部接口
virtual void display() //虚成员函数
{cout<<"B0::display()"<<endl;}
};
class B1: public B0 //公有派生
{ public:
void display() { cout<<"B1::display()"<<endl; }
};
class D1: public B1 //公有派生
{ public:
void display() { cout<<"D1::display()"<<endl; }
};
虚 函 数
*
2021/2/22
void fun(B0 *ptr) //普通函数
{ ptr->display(); }
void main() //主函数
{ B0 b0, *p; //声明基类对象和指针
B1 b1; //声明派生类对象
D1 d1; //声明派生类对象
p=&b0;
fun(p); //调用基类B0函数成员
p=&b1;
fun(p); //调用派生类B1函数成员
p=&d1;
fun(p); //调用派生类D1函数成员
}
运行结果:
B0::display()
B1::display()
D1::display()
*
*
2021/2/22
虚析构函数(难)
何时需要虚析构函数?
当你可能通过基类指针删除派生类对象时
假如你打算允许其别人通过基类指针调用对象的析构函数〔通过delete这样做是正常的〕,并且被析构的对象是有重要的析构函数的派生类的对象,就需要让基类的析构函数成为虚拟的。
虚 函 数
*
2021/2/22
虚析构函数(难)
虚析构函数的使用
虚 函 数
*
2021/2/22
抽象类
带有纯虚函数的类称为抽象类:
class 类名
{
virtual 类型 函数名(参数表)=0;
//纯虚函数
...
}
纯虚函数与抽象类
*
2021/2/22
抽象类
纯虚函数与抽象类
作用
抽象类为抽象和设计的目的而声明,将有关的数据和行为组织在一个继承层次构造中,保证派生类具有要求的行为。
对于暂时无法实现的函数,可以声明为纯虚函数,留给派生类去实现。
注意
抽象类只能作为基类来使用。
不能声明抽象类的对象。
构造函数不能是虚函数,析构函数可以是虚函数。
*
2021/2/22
例 举例
纯虚函数与抽象类
#include <iostream>
using namespace std;
class B0 //抽象基类B0声明
{ public: //外部接口
virtual void display( )=0; //纯虚函数成员
};
class B1: public B0 //公有派生
{ public:
void display(){cou

最近更新

足球青训可行性报告 34页

财政项目资金可行性报告 31页

画由心生——谈毕业创作中对写实绘画风格的认.. 2页

电针对急性酒精性肝损伤小鼠肝血流灌注及氧化.. 2页

电网公司物资配送中心选址优化模型研究的开题.. 2页

芍药花栽培可行性报告 26页

电梯群控并行系统研究的开题报告 2页

肉蛇养殖可行性报告 30页

电子垃圾污染区强抗镉微生物的筛选及吸附性能.. 2页

编制物流企业可行性报告 33页

经管大楼财务可行性报告 32页

电动汽车智能充换电运营监控系统设计与实现的.. 2页

产学研商业计划书 33页

窗口平台建设可行性报告 31页

科研立项的可行性报告 38页

2024年免疫诊断产品投资申请报告代可行性研究.. 62页

社工站需求可行性报告 31页

由开关断开引起的潮流转移问题研究的开题报告.. 2页

2024年氯化聚乙烯项目项目投资筹措计划书代可.. 70页

石粉机制砂可行性报告 31页

2024年六氢苯酐项目项目投资申请报告代可行性.. 55页

2024年留学机构项目项目投资需求报告代可行性.. 59页

2024年量热仪项目项目投资申请报告代可行性研.. 75页

电子技术应用可行性报告 27页

2024年冷墩钢投资申请报告代可行性研究报告 70页

生草栽培对山核桃林地土壤性质的影响的开题报.. 2页

生物质焦油水蒸气重整橄榄石载铁催化剂的研究.. 2页

生物质气化燃气特性及安全技术研究的开题报告.. 2页

生物滴滤床净化挥发性有机废气的研究的开题报.. 2页

菜品主辅料配比表 6页