07 2020 档案

摘要:定义数据成员为静态变量,表明此全局数据逻辑上属于该类。 定义成员函数为静态函数,表明此全局函数逻辑上属于该类,而且该函数只对静态数据、全局数据或者参数进行操作,而不对非静态数据成员进行操作。 静态数据成员 静态数据成员在定义或说明时前面加关键字static,如: class A { int n; s 阅读全文
posted @ 2020-07-08 12:30 hunter-w 阅读(435) 评论(0) 推荐(0) 编辑
摘要:使用命名空间 在引用命名空间成员时,要用命名空间名和作用域分辨符对命名空间成员进行限定,以区别不同的命名空间中的同名标识符。即: 命名空间名::命名空间成员名 c++提供了一些机制,能简化使用命名空间的使用: 使用命名空间别名 可以为命名空间起一个别名,用来替代较长的命名空间名,如: namespa 阅读全文
posted @ 2020-07-07 21:19 hunter-w 阅读(164) 评论(0) 推荐(0) 编辑
摘要:C++构造函数调用顺序 创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类); 如果类里面有成员类,成员类的构造函数优先被调用;(也优先于该类本身的构造函数) 基类构造函数如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序而不是它们在成员初始化表中的顺序; 成员类对象 阅读全文
posted @ 2020-07-07 19:40 hunter-w 阅读(968) 评论(0) 推荐(0) 编辑
摘要:重载 相同的范围(在同一个类中) 相同的函数名字,不同的参数列表,与返回值类型没有关系 virutal关键字可有可无 重写 不同的范围(分别位于派生类与基类) 相同的函数名字,相同的参数 基类函数必须要有virtual关键字 隐藏 隐藏指在某些情况下,派生类中的函数屏蔽了基类中的同名函数,包括以下几 阅读全文
posted @ 2020-07-07 14:35 hunter-w 阅读(251) 评论(0) 推荐(0) 编辑
摘要:访问限定符 继承关系 从基类继承过来的成员在子类中(对子类内的成员)访问权限的变化情况: 1.基类成员对派生类成员都是:公有和保护的成员是可见的,私有的的成员是不可见的。 2.基类成员对派生类实例化出来的对象来说:要看基类的成员在派生类中变成了什么类型的成员。如:私有继承时,基类的公有成员和私有成员 阅读全文
posted @ 2020-07-07 14:14 hunter-w 阅读(292) 评论(0) 推荐(0) 编辑
摘要:C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承,此时派生类有两个或两个以上的直接基类。 虚基类与二义性 菱形继承可能会存在二义性 int main( ) { DC d; d.x = 1; // error C2385: 对"x"的访问不明确 //可能是"x"(位于基"BC1"中), 阅读全文
posted @ 2020-07-07 13:59 hunter-w 阅读(401) 评论(0) 推荐(0) 编辑
摘要:在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为 阅读全文
posted @ 2020-07-07 13:18 hunter-w 阅读(606) 评论(0) 推荐(0) 编辑
摘要:拷贝构造函数的调用 四种情况下会调用拷贝构造函数 1.初始化 void main() { A a1; A a2 = a1;//调用copy构造函数 a2 = a1;//浅copy,不会调用copy构造函数 } 2.初始化 void main() { A a1; A a2(a1);//调用copy构造 阅读全文
posted @ 2020-07-07 13:00 hunter-w 阅读(191) 评论(0) 推荐(0) 编辑
摘要:静态绑定 如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数 如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。 如果基础类和衍生类定义了相同名称的 阅读全文
posted @ 2020-07-06 19:13 hunter-w 阅读(2691) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示