摘要: 受保护的成员对于类的用户来说时不可访问的 受保护的成员对于派生类的成员和友元来说是可访问的 其中,只能通过派生类对象来访问基类的受保护成员,派生类对于一个基类对象中的受保护成员没有任何访问特权 eg: class Quote { public: Quote() = default; Quote(co 阅读全文
posted @ 2017-12-22 17:30 三二二, 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 定义了A类的时候,需要定义一个B类来完善A的功能,A类当中有 返回类型为B的函数 ,定义A之前,先声明了B,且B作为A的友元,需要访问A的私有成员。 eg: class B; class A { public: friend class B; A(); B fun1() {return B(*thi 阅读全文
posted @ 2017-12-21 21:55 三二二, 阅读(1120) 评论(0) 推荐(0) 编辑
摘要: 在编写程序时,将类中的函数成员的声明和定义分开,在头文件(.h)中进行声明,在源文件(.cpp)中进行定义 以及具体功能的实现。达到分离式编译的效果,提高代码的可读性。 自己在编写是程序时,程序显示没有错误,但是在生成时,产生了链接器工具错误LNK2005 的错误提示。这个错误 也会导致另外一个错误 阅读全文
posted @ 2017-12-18 22:06 三二二, 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 在类中需要使用到静态成员时,在初始化的时候应该注意, 通常情况下,类的静态成员不应该在类的内部初始化。 不过可以为静态成员提供 const 整数类型的类内初始值, 不过要求静态成员必须是字面值常量类型的 constexper 。 初始值必须是常量表达式, eg; class Discount {pu 阅读全文
posted @ 2017-12-11 22:21 三二二, 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 在安装win10系统时,出现了错误码: 0x80070570. 很多人说是分区工具的问题或者是电脑内存的问题。 但是第一步先检查时否ISO文件下载的有问题 尽量不要使用迅雷下载ISO文件,因为迅雷使用的是P2P技术,整个文件是由多个用户文件碎片合并的,所以使用迅雷下载有很大几率使得下载的ISO文件有 阅读全文
posted @ 2017-12-02 22:27 三二二, 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 定义一个vector<string>, 在其上多次调用push_back.观察string被拷贝了多少次 在未指定vector大小的时候,第一次push_back操作会调用一次元素的拷贝构造函数(此时vectord的capacity为1) 在第二次调用push_back时,容量不够,此时vector 阅读全文
posted @ 2017-11-21 22:31 三二二, 阅读(258) 评论(0) 推荐(0) 编辑
摘要: c++primer 中的一个函数报错的问题 StrVec类的设计中定义这个类,定义了一个static变量alloc,用来分配内存和构造元素 class StrVec{public: StrVec() :elements(nullptr), first_free(nullptr), cap(nullp 阅读全文
posted @ 2017-11-14 21:22 三二二, 阅读(1930) 评论(0) 推荐(0) 编辑
摘要: 假设 it 为一个插入迭代器,则 *it ++it it++ 操作虽然存在,不会对 it 做任何事情。 每个操作都返回 it!!! ostream_iterator out; *out , ++out ,out++ 每个操作都返回out 。 *out ++ = e; 与 out = e; 效果一样 阅读全文
posted @ 2017-08-21 16:58 三二二, 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 标准容器迭代器都支持的操作: *iter iter->mem ++iter --iter :forward_list(单向链表)不支持递减操作。 iter1 == iter2 iter1 != iter2 vector,string,deque 和 array 迭代器支持的操作: iter + n; 阅读全文
posted @ 2017-07-10 16:33 三二二, 阅读(266) 评论(0) 推荐(1) 编辑
摘要: 使用 istreamstring 与文本行绑定之后读取元素。 struct PersonInfo{ string name; vector<string> phones;}; int main(int argc, char const *argv[]){ string line, word; vec 阅读全文
posted @ 2017-06-24 18:35 三二二, 阅读(227) 评论(0) 推荐(0) 编辑