摘要: 关于在一个类对象的成员函数中另一个类对象参数的私有数据成员 关于类成员函数中访问同类对象的私有成员,主要包含以下几种场景: a. 在C++的类的成员函数中,允许直接访问该类的对象的私有成员变量。 b. 在类的成员函数中可以访问同类型实例的私有变量。 c. 拷贝构造函数里,可以直接访问另外一个同类对象 阅读全文
posted @ 2022-04-05 17:03 SanFranciscoo 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1.静态类成员 P349 静态类成员的特点:无论创建了多少对象,程序都只创建一个静态类变量的副本。即类的所有对象共享同一个静态成员。 不能在类声明中初始化静态成员变量;类的静态成员必须在类内声明,在类声明之外使用单独的语句来进行初始化,且在类外初始化时使用作用域运算符,但不使用关键字static。 阅读全文
posted @ 2022-04-03 20:54 SanFranciscoo 阅读(55) 评论(0) 推荐(0) 编辑
摘要: p332 需要引入头函数 <cstdlib> <ctime> rand()函数将一种算法用于一个初始种子值来获得随机数;这些数实际上是伪随机数,因为10次连续的调用通常生成10个同样的随机数。 srand()函数允许覆盖默认的种子值,重新启动另一个随机序列;可以使用time(0)的返回值来设置种子。 阅读全文
posted @ 2022-03-27 22:31 SanFranciscoo 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1.运算符重载 格式: operator(argument-list) 如: Time operator+(const Time &)const; ... Time Time::operator+(const Time & t) const { Time sum; sum.minutes = min 阅读全文
posted @ 2022-03-27 22:31 SanFranciscoo 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1.类方法可以直接访问类的private组件(p283);对于类的私有部分,在其中声明的成员只能通过成员函数进行访问;对于类的公有部分,在其中声明的成员可被使用类对象的程序直接访问。p287 2.定义位于类声明中的函数都将自动成为内联函数,在类声明中定义方法等同于用原型替换方法定义,然后在类声明后面 阅读全文
posted @ 2022-03-19 22:45 SanFranciscoo 阅读(228) 评论(0) 推荐(0) 编辑
摘要: p266 名称空间不能用于代码块中; 默认下名称空间中声明的名称的链接性为外部。 在开发程序时使用多个文件时,一种有效的组织策略是,使用头文件来定义用户的类型,为操作用户类型的函数提供函数原型;并将函数定义放在一个独立的源代码文件中。头文件和源代码文件一起定义和实现了用户定义的类型及其使用方式。最后 阅读全文
posted @ 2022-03-17 19:18 SanFranciscoo 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 1.c++ pp page 250 存储持续性:数据保留在内存中的时间;(注:自动存储持续性:在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,而不是程序运行到定义语句时才被创建) 作用域描述了名称在文件(翻译单元)的多大范围内可见。全局作用 阅读全文
posted @ 2022-03-15 23:02 SanFranciscoo 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 在按照c++ pp page255,尝试在一个cpp文件(翻译单元)中定义具有外部链接性的静态变量int x = 1,在另一个cpp文件中用 extern int x;引用声明时,运行会出现undefined reference to 'x'的错误。 两个文件分别如下: 接着F5编译,出现: 这时候 阅读全文
posted @ 2022-03-13 21:00 SanFranciscoo 阅读(3770) 评论(0) 推荐(4) 编辑
摘要: 关于函数模板与泛型编程的关系,见 https://blog.csdn.net/baidu_37964071/article/details/78235247 函数模板是通用的函数描述,它们使用泛型来定义函数,其中的泛型可用具体的类型(如int 或 double)替换。 1.模板并不创建任何函数,只告 阅读全文
posted @ 2022-03-11 20:37 SanFranciscoo 阅读(331) 评论(0) 推荐(0) 编辑
摘要: c++ pp page 227 1.函数重载的关键是函数的参数列表(函数特征标);如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则它们的特征标相同。 仅返回类型不同的函数不能重载,重载的特征标必须不同。 2.编译器在检查函数特征标时,将把 一个类型的引用 和该类型本身视为同一个特征标。 阅读全文
posted @ 2022-03-11 20:06 SanFranciscoo 阅读(99) 评论(0) 推荐(0) 编辑