C++基础 (8) 第八天 数组指针 模板指针 C语言中的多态 模板函数

1昨日回顾

2 多态的练习-圆的图形

3多态的练习-程序员薪资

4员工管理案例-抽象类和技术员工的实现

 

employee.h:

 

 

employee.cpp:

 

technician.h:

 

technician.cpp:

 

source.cpp:

 

 

5员工管理案例-销售和经理实现

修改employee.h:

displayStatus不用虚函数了

 

 

salesman.h:

 

 

salesman.cpp:

 

 

manager.h:

 

manager.cpp:

 

 

6员工管理案例-销售经理的实现

 

 

7 中午回顾

注意:

多继承的时候一定要将父类的析构函数设为虚函数

 

 

p1和p2的指针都指向Child

然后进行delete 看似没有问题 上面parent1到delete也不报错

但是其实已经错了

 

 

第一段代码之所以没报错是因为

Child的组成是a,b,c

开始free的时候把a部分释放掉了,

如果从b开始释放释放的大小就不对称了

 

delete只是malloc的封装,等于malloc+析构函数

 

结论:如果需要多继承,一定要加虚析构。

 

 

8 C语言中的函数指针

 

1.如何定义一个数组指针:

 

(array2 是一个大数组(二维数组) 里面每个部分都是一个array[10]) 

 

 

2.如何定义一个函数指针:

 

 

函数指针的调用:

 

 

 

 

 

9 C语言中的多态:

 

多态:

 

例如说:

子类中虚函数方法重写了父类虚函数方法

 

父类指针可以直接指向子类并调用子类的方法

 

可以定义一个架构函数,这个架构函数只要传入父类型的参数就可以,不用为每个子类单独去写一种参数。

 

 

C语言中的多态:通过回调函数,即函数指针,提供了一个统一的接口。函数指针调用函数,执行函数内部的不同的方法。

 

9 C语言中的多态

 

 

。。。略

 

赵云不关心锦囊是谁写的,可以直接调用struct * 类型的函数(struct*内部

 

调用者和实现者通过C语言中的回调函数实现隔离

 

多态是软件开发的最高境界

 

设计模式是讲怎么把多态写好

 

10 函数模板的基本语法

 

模板的作用 对参数类型的一个泛化,解决了一个代码重用性的问题

 

 

 

11 函数模板数组排序练习

 

 

 

 

12 模板函数和函数重载

 

 

13 函数模板和普通函数的匹配规则

 

14 编译器的编译过程

 

 

1.预处理:

宏展开

 

 

2.编译:

转化为汇编语言(可以直接操作寄存器)

 

如果想破解程序:

可执行程序反编译—通过汇编代码

  • 编译就是把C/C++代码(比如上面的”.i”文件)“翻译”成汇编代码。

 

3.汇编:

  • 汇编就是将第二步输出的汇编代码翻译成符合一定格式的机器代码,在Linux系统上一般表现位ELF目标文件(OBJ文件)。

(二进制文件)

 

4.链接

链接就是将汇编生成的OBJ文件、系统库的OBJ文件、库文件链接起来,最终生成可以在特定平台运行的可执行程序。 

转载于:https://www.cnblogs.com/eret9616/p/10513977.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值