首页 > 编程语言 > 详细

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

时间:2017-11-20 00:52:41      阅读:316      评论:0      收藏:0      [点我收藏+]

本周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

有些版本这里也不会出现

 

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

原文:http://www.cnblogs.com/fighter17/p/7863030.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!