c++primer复习(一)】的更多相关文章

1 C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定,两个条件(基类引用或指针.虚函数)缺一不可 虚函数的默认实参将发生静态绑定 2 继承层次的根类一般都需要定义虚析构函数 3 任意非static成员都可以是虚析构函数,static成员函数不能是虚析构函数(应为static成员不是属于某个对象的,而是属于整个类的) 4 protected成员:派生类只能通过派生类对象访问基类的protected成员,派生类对其基类类型对象的protected成员没有特殊的访问权限 private成员…
1 标准库容器 顺序容器:vector.list.deque 容器适配器:stack.queue.priority_queue 2 容器元素类型约束: 容器元素类型必须支持复制和赋值,因为容器存放的都是元素的副本 容器的元素类型是类类型且该类型没有默认构造函数时,创建容器对象时必须提供形参列表 3 容器迭代器: vector和deque容器迭代器提供的特殊操作 iter+n,iter-n,iter1+=iter2,iter1-=iter2,>,>=,<,<=(其他容器的迭代器只支持…
一:基本内容 1 类 数据成员:用于存储与类对象相关联的状态 成员函数:对数据成员进行操作 类将接口与实现分离,接口指定了类支持的操作,操作的具体实现细节是类的设计者才需要了解 2 类成员 类成员可以是数据(数据成员).函数(成员函数).类型别名 数据成员:类不能具有自身类型的数据成员,但是可以使指向自身类型的指针或引用 成员函数:在类内部定义的成员函数默认为内联inline函数,成员函数的内联可以在声明处也可以在定义处指出 const成员函数不能改变其所操作的对象的数据成员,const成员函数…
1 istream.ostream类型,cin.cout.cerr是istream或ostream类型的具体的对象,<<和>>是操纵符 getline函数的参数是istream和string类型的两个引用形参 面向对象的标准库,3个头文件:iostream,fstream.sstream 对应的类型:istream,ostream,iostream:ifstream,ofstream,fstream:istringstream,ostringstream,stringstream…
1 悬垂else来自于else语句搭配的if语句的二义性 2 理解switch代码: switch(c) { case 'a': a++; case 'b': b++; default: x++; } 如果为'a',则a++,b++,x++都会被执行 如果为'b',则b++,x++都会被执行 如果都不是,则只执行x++ 由此可以推测出switch语句中break的作用,以及没有break时,语句的执行情况:第一个满足的case一直执行到break或switch结束,之后所有的case都被忽略,退…
1 const对象默认为文件的局部变量(P50) a.cpp ; b.cpp extern int a;//undefined reference to "a" a.cpp ; b.cpp extern int a;//OK a.cpp ; b.cpp extern int a;//OK 即非const变量默认为extern,const变量要在其他文件中被访问,必须显式指定为extern 2 const与引用(P51) 非const引用绑定到const对象是不合法的,const引用可以…
近期在看C++ Primer复习C++的语法,看到书中15.9章中的文本查询演示样例时,认为设计得非常不错,于是便动手照着实现了一个,改动了非常久最终执行成功了,从中也学习到了非常多的语法.以下把实现与总结分享给大家: 首先是在10.6.2节中实现的TextQuery类: TextQuery.h #ifndef __TestC____TextQuery__ #define __TestC____TextQuery__ #include <iostream> #include <vecto…
题目 1 class Solution { 2 public: 3 TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { 4 if(!t1 && !t2) return NULL; 5 if(t1 == NULL&& t2 != NULL) return t2; 6 if(t1 != NULL&& t2 == NULL) return t1; 7 TreeNode* node = new TreeNode(t1…
考虑到STL的掌握主要靠的是练习,所以对于STL这部分,我把书中的练习都做一遍,加深印象.这些练习是第9.10.11.17章的,分别是顺序容器.泛型算法和关联容器等. ——10月22日 /*------------------------------------------------------------------------------------------------------------*/ STL中的顺序容器:vector--deque--list--forward_list-…
1.头文件中不应包含using声明,因为头文件的内容会拷贝到所有引用到他的文件中去,如果头文件里有谋个using声明,那么每个使用了该头文件的文件就会有这个声明,由于不经意间包含了一些名字,反而可能产生始料未及的名字冲突. 2.string对象的拷贝初始化和直接初始化.string str1 = "Hello";是拷贝初始化,编译器吧等号右侧的初始值拷贝到新创建的对象中去.使用getline读取一行, getline(cin, line),函数从给定的输入流中读取内容,知道遇到换行符为…