对象模型
指针指向子类,通过指针调用虚函数,自动调用子类的虚函数实现,
指针调用虚函数时,不做静态绑定,做动态绑定。
通过指针,找到虚指针,再找到虚函数列表,找到一个相应的函数
(*(p->vptr)[n])(p);//n指虚函数在虚函数列表的第几个。
(* p->vptr[n])(p);
静态绑定和动态绑定
必须通过指针调用,并且upcast,保证调用。
虚机制,多态,等等名词指的是同一件事情
关于this:分析时要很清楚this的意思
const
成员函数后可根const,一般全局函数不加
const 对象 和 non-const
static,const 这些东西要从原理理解
const object 不能调用non-const 函数
copy on write cow
当成员函数的const和non-const版本同事存在时const object只能调用const 版本,non-const只能调用non-const
new 和delete 可以重载
::new
::delete
绕过重载,调用全局函数
网友评论