
C++学习笔记
志同道合
兼职
展开
-
第十五章 面向对象编程
1.C++ 中的函数调用默认不使用动态绑定。要触发动态绑定,满足两个条件:第一,只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定;第二,必须通过基类类型的引用或指针进行函数调用。要理解这一要求,需要理解在使用继承层次中某一类型的对象的引用或指针时会发生什么。2.继承的权限: 1.如果是公用继承,基类成员保持自己的访问级别:基类的 public原创 2012-09-23 21:37:48 · 342 阅读 · 0 评论 -
第十四章 重载操作符与转换
1.重载操作符的定义: 重载操作符是具有特殊名称的函数:保留字 operator 后接需定义的操作符号。像任意其他函数一样,重载操作符具有返回类型和形参表,如下语句: Sales_item operator+(const Sales_item&, const Sales_item&);2.重载操作符必须具有一个自定义类类型操作数。3.操作符的优先级、结合性或操作数目原创 2012-09-23 13:05:39 · 639 阅读 · 0 评论 -
第八章 标准IO库
1.文件的输入和输出,fstream 头文件定义了三种支持文件 IO 的类型: 1.ifstream,由 istream 派生而来,提供读文件的功能。 2.ofstream,由 ostream 派生而来,提供写文件的功能。 3.fstream,由 iostream 派生而来,提供读写同一个文件的功能。2.使用istringstream,必须包含sstream头原创 2012-09-16 21:18:04 · 353 阅读 · 0 评论 -
第十一章 泛型算法
1.反省算法可作用在不同类型的容器和不同类型的元素上。2.使用泛型算法必须包含 algorithm 头文件:#include 和 #include 。3.使用 back_inserter 的程序必须包含 iterator 头文件。4.插入迭代器: 1.back_inserter,创建使用 push_back 实现插入的迭代器。 2.front_inserter,使原创 2012-09-23 10:58:15 · 379 阅读 · 0 评论 -
第十三章 复制控制
1.析构函数是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。2.复制构造函数、赋值操作符和析构函数总称为复制控制。编译器自动实现这些操作,但类也可以定义自己的版本。原创 2012-09-23 12:43:42 · 442 阅读 · 0 评论 -
第十二章 类
1.在 C++ 中,用类来定义自己的抽象数据类型(abstract data types)。通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。2.数据抽象能够隐藏对象的内部表示,同时仍然允许执行对象的公有(public)操作。3.类蕴涵的基本思想是数据抽象和封装。4.数据抽象是一种依赖于接口和实现分离的编程(和设计)技术。类设计者必须关心类是如何实现的原创 2012-09-23 12:26:19 · 343 阅读 · 0 评论 -
第十章 关联容器
1.关联容器: 1.支持通过键来高效地查找和读取元素。 2.两个基本的关联容器类型是 map set。2.pair 类型: 1.pair p1; 创建一个空的 pair 对象,它的两个元素分别是 T1 和 T2类型。 2.pair p1(v1, v2); 创建一个 pair 对象,它的两个元素分别是 T1 和 T2 ,其中 first 成员初始化为 v1原创 2012-09-19 21:29:48 · 272 阅读 · 0 评论 -
第九章 顺序容器
1.顺序容器内的元素按其位置存储和访问。2.标准库定义了三种顺序容器类型:vector、list 和 deque(是双端队列“double-ended queue”的简写,发音为“deck”)3.顺序容器适配器包括 stack、queue 和 priority_queue 类型。4.顺序容器类型: 1.vector 支持快速随机访问. 2.list 支持快速插入/删原创 2012-09-17 21:51:26 · 344 阅读 · 0 评论 -
第六章 语句
1.复合语句,通常被称为块,是用一对花括号括起来的语句序列(也可能是空的)。2.语句作用域: 1.有些语句允许在它们的控制结构中定义变量, 2.在语句的控制结构中定义的变量,仅在定义它们的块语句结束前有效。3.goto 语句提供了函数内部的无条件跳转,实现从 goto 语句跳转到同一函数内某个带标号的语句。4.在没有定义try和catch的程序中,系统将自动调用 t原创 2012-09-16 16:22:53 · 376 阅读 · 0 评论 -
第五章 表达式
1.位与操作(&)需要两个整型操作数,在每个位的位置,如果两个操作数对应的位都为 1,则操作结果中该位为 1,否则为 0。2.位异或(互斥或,exclusive or)操作符(^)需要两个整型操作数。在每个位的位置,如果两个操作数对应的位只有一个(不是两个)为 1,则操作结果中该位为 1,否则为 0。3.后置操作符返回未加 1 的。(i++)4.sizeof: 1.对 cha原创 2012-09-16 15:58:38 · 306 阅读 · 0 评论 -
第四章 数组和指针
1.设计良好的C++程序只有在强调速度时才在类实现的内部使用数组和指针。2.用字符串初始化数组时,会在数组最后自动加上一个空字符('\0')。3.指针和引用的比较: 1.第一个区别在于引用总是指向某个对象:定义引用时没有初始化是错误的。 2.第二个重要区别则是赋值行为的差异:给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与另一个对象关联。引用一经初始化,就始终原创 2012-09-16 11:42:13 · 364 阅读 · 0 评论 -
第一章 快速入门
1.要学会一门新的语言,必须要实际动手编写程序。2.C++ 并没有直接定义进行输入或输出(IO)的任何语句,这种功能是由标准库提供的。标准库定义了 4 个 IO 对象,std::cin, std::cout, std::cerr, std::clog。3.文件结束符,windows系统 cotl+z, linux系统 cotl+d。3.使用类时我们需要想清楚三个问题:(1)类的名字是什原创 2012-09-15 20:50:53 · 236 阅读 · 0 评论 -
第七章 函数
函数可以看作程序员定义的操作。与内置操作符相同的是,每个函数都会实现一系列的计算,然后(大多数时候)生成一个计算结果。但与操作符不同的是,函数有自己的函数名,而且操作数没有数量限制。与操作符一样,函数可以重载,这意味着同样的函数名可以对应多个不同的函数。1.形参和实参: 1.函数的形参定义了函数的参数的类型和存储空间。 2.函数的实参是赋给形参的具体的初始化值。原创 2012-09-16 17:38:51 · 396 阅读 · 0 评论 -
第三章 标准库类型
1.在头文件中,必须总是使用完全限定的标准库名字,不应该使用using,理由是头文件的内容会被预处理器复制到程序中2.string: 1.如果要把 s2 直接追加到 s1 的末尾,可以使用 += 操作符, 2.如果做比较的两个 string 对象的字符不同,则比较第一个不匹配的字符的值。 3.当进行 string 对象和字符串字常量混合连接操作时,+ 操作符的左右原创 2012-09-16 11:14:08 · 252 阅读 · 0 评论 -
第二章 变量和基本类型
1.c++的两种表达式: 左值:左值可以出现在赋值语句的左边或右边。(变量是左值) 右值:右值只能出现在赋值的右边。(常量是右值)2.变量的初始化方式:(在C++中,要注意初始化和赋值是两个概念) 直接初始化; 复制初始化:3.变量初始化规则: 内置类型变量的初始化:在函数体外定义的变量都初始化成 0,在函数体里定义的内置类型变量不进行原创 2012-09-15 21:48:28 · 273 阅读 · 0 评论 -
第十六章 模板和泛型编程
1.函数模板可以用与非模板函数一样的方式声明为 inline。说明符放在模板形参表之后、返回类型之前,不能放在关键字 template 之前。 template inline T min(const T&, const T&);2.模板形参作用域: 模板形参的名字可以在声明为模板形参之后直到模板声明或定义的末尾处使用。3.通过在成员名前加上关键字 typename 作原创 2012-09-30 11:21:38 · 384 阅读 · 0 评论 -
第十八章
1.位域必须是整型数据类型,可以是 signed 或 unsigned。通过在成员名后面接一个冒号以及指定位数的常量表达式,指出成员是一个位域。2.有时需要在 C 和 C++ 中编译同一源文件。当编译 C++ 时,自动定义预处理器名字 __cplusplus(两个下划线),所以,可以根据是否正在编译 C++ 有条件地包含代码。#ifdef __cplusplusextern "C" {原创 2012-09-30 11:55:59 · 330 阅读 · 0 评论 -
第十七章 工具
1.通过异常我们能够将问题的检测和问题的解决分离,这样程序的问题检测部分可以不必了解如何处理问题。2.C++ 的异常处理中,需要由问题检测部分抛出一个对象给处理代码,通过这个对象的类型和内容,两个部分能够就出现了什么错误进行通信。3.析构函数应该从不抛出异常。4.命名空间定义以关键字 namespace 开始,后接命名空间的名字。原创 2012-09-30 11:50:39 · 361 阅读 · 0 评论 -
eclipse快捷键
Ctrl+Shift+F,程序代码自动排版存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整理导入 Ctrl+Shift+o切换窗口 Ctrl+f6ctrl+shift+M 导入未引用的包ctrl+w 关闭单个转载 2012-11-29 15:35:00 · 351 阅读 · 0 评论