摘要: c++支持编写多重继承的代码 一个子类可以拥有多个父类 子类拥有所有父类的成员变量 子类继承所有父类的成员函数 子类对象可以当作任意父类对象使用 多重继承的问题一 通过多重继承得到的对象可能拥有“不同的地址”!! 解决方案:无 多重继承的问题二 多重继承可能产生冗余的成员 当多重继承关系出现闭合时将 阅读全文
posted @ 2018-06-08 02:16 sugarwill 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 面向对象中的抽象类 可用于表示现实世界中的抽象概念 是一种只能定义类型,而不能产生对象的类 只能被继承并重写相关函数 直接特征是相关函数没有完整的实现 c++语言中没有抽象类的概念 c++中通过纯虚函数实现抽象类 纯虚函数是指只定义原型的成员函数 一个c++类中存在纯虚函数就成为了抽象类 抽象类只能 阅读全文
posted @ 2018-06-08 01:35 sugarwill 阅读(2525) 评论(0) 推荐(0) 编辑
摘要: class是一种特殊的struct 在内存中class依旧可以看作变量的集合 class与struct遵循相同的内存对齐规则 class中的成员函数与成员变量是分开存放的 每个对象有独立的成员变量 所有对象共享类中的成员函数 运行时的对象退化为结构体的形式 所有成员变量在内存中依次排布 成员变量间可 阅读全文
posted @ 2018-06-08 01:19 sugarwill 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 函数重写回顾 父类中被重写的函数依然会继承给子类 子类中重写的函数将覆盖父类中的函数 通过作用域分辨符(::)可以访问到父类中的函数 面向对象中期望的行为 根据实际的对象类型判断如何调用重写函数 父类指针(引用)指向 父类对象则调用父类中定义的函数 子类对象则调用子类中定义的重写函数 面向对象中多态 阅读全文
posted @ 2018-06-08 00:51 sugarwill 阅读(3466) 评论(0) 推荐(0) 编辑
摘要: 子类可以定义父类中的同名成员 子类中的成员将隐藏父类中的同名成员 父类中的同名成员依然存在于子类中 通过作用域分辨符(::)访问父类中的同名成员 c.Parent::mi 类中的成员函数可以进行重载 1.重载函数的本质为多个不同的函数 2.函数名和参数列表是唯一的标识 3.函数重载必须发生在同一个作 阅读全文
posted @ 2018-06-08 00:34 sugarwill 阅读(264) 评论(0) 推荐(0) 编辑