C++基础
一、具备的基础
变量(variables):
类型(types):int,float,char,struct...
作用域(scope)
循环(loops):while,for
流程控制:if-else,switch-case
知道一个程序需要编译、连结才能被执行
知道如何编译和连接(如何建立一个可运行程序)
二、应当养成正规的、大气的编程习惯
以良好的方式编写C++ class
Object Based(基于对象):面对的是单一class的设计
class without pointer members —— Complex
class with pointer members —— String
Object Oriented(面向对象):面对的是多重class的设计,class和classes之间的关系
继承(inheritacne)
复合(composition)
委托(delegation)
三、C++关于数据和函数
1.结构
C++把数据和处理数据的函数包在一起,数据只有函数可以处理,其他人看不到,组成class。以class这一种形式,创建出很多对象来使用。
2.以Complex和String来举例
Complex不带指针
complex c1(2, 1); complex c2; complex* pc = new complex(0, 1);
函数只有一份,数据有很多份。
String带指针
string s1 ("Hello "); string s2 ("World "); string* ps = new string;
string的字符其实是个指针,要靠这个指针指出去,在内存另外再去分配一块空间来放内容。
s1-s4的大小,其实里面都只有一根指针。
四、C++programs代码基本形式
标准库用<>,引用自己写的用" "
五、Header(头文件)中的防卫式声明
为什么这样写:引用各种头文件的时候,次序不应该产生影响。这段代码的意思是:告诉编译器,一进来,如果(ifndef)不曾定义过这个名词的话,(define)那么就把它定义出来,不会有重复的include动作。
六、Header(头文件)的布局
七、class的声明(declaration)
八、class template(模板)简介
例如complex,现在不要就把实部和虚部的类型写死,在前面写上T即可,告诉编译器现在还没有决定类型。
注意要在class head之前写上
template<typename T>