摘要: *什么时候发生函数覆盖(函数重写)(Override),什么时候发生函数重载(Overload),什么时候发生函数隐藏 #函数覆盖发生在父类与子类之间,其函数名、参数类型、返回值类型必须同父类中的相对应被覆盖的函数严格一致,覆盖函数和被覆盖函数只有函数体不同,当派生类对象调用子类中该同名函数时会自动 阅读全文
posted @ 2016-01-28 23:58 Jensen抹茶喵 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 成员变量里面如果包含了引用类型,应该如何初始化此成员变量才不报错 答:需要利用类的初始化列表来构造该成员对象 这里用了两种方法初始引用类型的成员变量,一种是new(析构函数处记得释放..),一种是上层传入(注意该对象的生命周期)..注意..如果构造函数直接构造对象并把对象付给成员,构造函数结束时成员 阅读全文
posted @ 2016-01-28 23:57 Jensen抹茶喵 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 每个类的成员函数都默认传入this指针,成员函数后面加了const后该成员函数将不能修改该类的成员了 阅读全文
posted @ 2016-01-28 23:55 Jensen抹茶喵 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 当子类析构需要调用父类的析构函数,基类的析构函数必须设置为虚析构函数 阅读全文
posted @ 2016-01-28 23:54 Jensen抹茶喵 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 利用类的初始化列表来调用就可以了,看下面代码 阅读全文
posted @ 2016-01-28 23:53 Jensen抹茶喵 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 看下面代码 阅读全文
posted @ 2016-01-28 23:51 Jensen抹茶喵 阅读(547) 评论(0) 推荐(0) 编辑
摘要: *什么是赋值构造函数(重载赋值操作符) 下面的代码演示了什么是赋值构造函数,如果不人为定义赋值构造函数,系统将默认给你分配一个浅拷贝的赋值构造函数(下面例子为深拷贝的赋值操作) 结论:通常定义了拷贝构造函数,赋值操作符也要同时重载...而当需要手动写这两个函数时,析构函数大部分情况下也是必要的 阅读全文
posted @ 2016-01-28 23:47 Jensen抹茶喵 阅读(341) 评论(0) 推荐(0) 编辑
摘要: *什么是拷贝构造函数又可以叫复制构造函数(浅拷贝与深拷贝) 下面的代码演示了什么是拷贝构造函数,如果不人为定义拷贝构造函数,系统将默认给你分配一个浅拷贝的拷贝构造函数 注意:如果你的类里面包含了指针之类的对象(请记得实现深拷贝) 阅读全文
posted @ 2016-01-28 23:45 Jensen抹茶喵 阅读(389) 评论(0) 推荐(0) 编辑