摘要: 友元 c++控制对类私有部分的访问。 友元有3种。 + 友元函数 例子 A = 2.34 B; 非成员函数不是由对象调用,它使用所有值都是显式参数。 Time operator (double m, const Time & t); 但有时候非成员函数不可以调用成员数据。然而有一种特殊的非成员函数可 阅读全文
posted @ 2019-12-02 23:17 yangzixiongh 阅读(170) 评论(0) 推荐(0) 编辑
摘要: this指针 this指针指向用来调用成员函数的对象。 每个成员函数都有一个this指针,包括构造和析构函数。 this指针指向调用对象,如果需要引用整个调用对象,则可以使用 this。 对象数组 Stock stuff[4]; 上述语句将会调用默认构造函数,生成4个Stock对象。 可以使用构造函 阅读全文
posted @ 2019-12-02 23:15 yangzixiongh 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 类的构造和析构 类对象不能用列表初始化是因为数据访问状态为私有。 如果将访问状态改为公有,那么就可以使用大括号初始化的方法。但是违背了数据隐藏的初衷。 声明和定义构造函数 + 声明,其中可以包含默认参数 + Stock(const string & co, long n = 0, double pr 阅读全文
posted @ 2019-12-02 23:14 yangzixiongh 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 存储持续性、作用域和链接性 c++中使用3中不同的方案存储数据 c++11中使用4中不同的方案存储数据。 这些方案的区别在于数据保留在内存中的时间。 自动存储持续性 + 在函数定义中声明的变量的存储持续性为自动的。2种 静态存储持续性 + 在函数定义外定义的变量和使用关键字static定义的变量的存 阅读全文
posted @ 2019-12-02 23:13 yangzixiongh 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 循环和文本输入 使用原始的cin进行输入 + 使用哨兵字符作为停止标记。 + 例如遇到 停止。 + 这种方式cin将忽略空格和换行符 + 发送给cin的输入被输入缓冲,这意味着只有在用户按下回车键后,整个字符序列将被发送给程序。 使用cin.get(char) + cin.get(ch)读取输入中的 阅读全文
posted @ 2019-12-02 23:11 yangzixiongh 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 内存模型和名称空间.md 单独编译 + c++允许甚至鼓励将组件函数放在独立的文件中。 + 可以单独编译这些文件,如何将他们链接成可执行文件。 + c++编译器既编译程序也管理链接器。 + 如果只修改了一个文件,则可以只重新编译该文件。 + 多数c++环境都提供了其他工具来帮助管理。例如make。 阅读全文
posted @ 2019-12-02 23:09 yangzixiongh 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 名称空间 在c++中使用多个厂商的类库时,可能导致名称冲突。 传统c++名称空间 + 声明区域。可以在其中进行声明的区域。 + 潜在作用域。变量的潜在作用域从声明点开始。到其声明区域的结尾。 新的名称空间特性 + c++新增了这样一种功能,即通过定义一种新的声明区域来创建命名的名称空间。 + 允许程 阅读全文
posted @ 2019-12-02 23:08 yangzixiongh 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 函数指针 获取函数地址 + 只要使用函数名。如果think()是一个函数。think就是该函数的地址。 声明一个函数指针 + 声明指向某种数据类型的指针时,必须指定指针指向的类型。 + 声明指向函数的指针时,也必须指定指针指向的函数类型。 + 需要指定函数的返回类型和参数列表。 + 例如一个函数 d 阅读全文
posted @ 2019-12-02 23:07 yangzixiongh 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 简单文件的输入输出 包含头文件fstream 定义了一个用于处理输出的ofstream类 需要声明一个或多个ofstream变量,并将ofstream对象与文件关联起来。 其中一种关联方法使用open()方法, 使用完文件后使用close()方法关闭。 可以使用ofstream对象和 来读取各种类型 阅读全文
posted @ 2019-12-02 23:07 yangzixiongh 阅读(238) 评论(0) 推荐(0) 编辑