随笔分类 -  C++

摘要:继承对象模型 • 在C++编译器的内部类可以理解为结构体 • 子类是由父类成员叠加子类新成员得到的 【范例代码】继承对象模型初探 多态对象模型 C++多态的实现原理: • 当类中声明虚函数时,编译器会在类中生成一个虚函数表 • 虚函数表是一个存储成员函数地址的数据结构 • 虚函数表是由编译器自动生成 阅读全文
posted @ 2018-06-13 15:53 老姚大大 阅读(380) 评论(0) 推荐(0)
摘要:回归本质 class是一种特殊的struct: • 在内存中class依旧可以看作变量的集合 • class与struct遵循相同的内存对其规则 • class中的成员函数与成员变量是分开存放的:(1)每个对象有独立的成员变量(2)所有对象共享类中的成员函数 值得思考的问题? 【范例代码】对象内存布 阅读全文
posted @ 2018-06-13 11:12 老姚大大 阅读(212) 评论(0) 推荐(0)
摘要:父子间的赋值兼容 子类对象可以当作父类对象使用(兼容性): 1、子类对象可以直接赋值给父类对象 2、子类对象可以直接初始化父类对象 3、父类指针可以直接指向子类对象 4、父类引用可以直接引用子类对象 【范例代码】子类对象的兼容性 当使用父类指针(引用)指向子类对象时: 1、子类对象退化父类对象 2、 阅读全文
posted @ 2018-06-11 17:18 老姚大大 阅读(220) 评论(0) 推荐(0)
摘要:【问题】子类中是否可以定义父类中的同名成员?如果可以,如何区分?如果不可以,为什么? 【范例代码】同名成员变量 父子间的冲突 1、子类可以定义父类中的同名成员 2、子类中的成员将隐藏父类中的同名成员 3、父类中的同名成员依然存在于子类中 4、通过作用域分辨符(::)访问父类中的同名成员 访问父类中的 阅读全文
posted @ 2018-06-11 14:25 老姚大大 阅读(252) 评论(0) 推荐(0)