Boolan C++面向对象高级编程学习第五周

本周C++面向对象高级编程编程主要是讲三个方面

1、虚表和虚指针

虚指针:如果类(包括父类)中有虚函数,就一定会有虚指针,虚指针是指向虚函数的虚表。

虚表:虚指针指向的一种类的表,表上存有类里面虚函数的实现的指针

 

这里虚函数和虚表一般是和类的多太性结合在一起来使用的,子类调用虚函数是通过调用虚指针来调用虚函数表里面的指针再来实现函数特性

这种调用的方式叫做动态绑定,是一种通过指针类型自动来判断调用的对象,在实现中可以不用区分哪个对象从而调用对应的函数

我们普通的调用类里面的函数叫做静态绑定

 

2、const

const之前的学习中有大量的提到过,今天对此进行了更深入的讲解

从这个表中我们可以看出 常量对象不可以调用非常量的函数

那么我们在写一些类成员函数的时候,如果这个类不会改变类成员的时候,尽量加上const

不然出现了常量对象,却无法调用该成员函数的问题

 

3、new和delete

之前我们简单的介绍了new和delete,这里主要是讲解new和delete的重载

重载方式分为

1、全局重载

2、类中重载

3、placement重载

这里placement重载有一个要注意的地方是我们重载了new(xx,xx)后,也重载了delete(xx,xx),但是我们

在调用的时候绝对不会调用其他版本的delete,只有在placement new抛出异常的时候,会调用相应的版本的delete

有些版本这里也不会出现

 

转载于:https://www.cnblogs.com/fighter17/p/7863030.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值