1、cin 遇到空格、TAB、换行符时自动结束;
2、cin.get( n ) / n=cin.get()接收一个输入字符n(包括空白符),并返回该字符值,特别的当它遇到文件结束符时,返回EOF,所以当程序接收一个输入字符‘0’时,即将其输出;
3、cin.ignore( n ) 忽略输入的前n个字符;
4、cin.getline() 接受输入的一行字符;
5、cin.peek() 接受一个字符,并把多余的除换行符以外的输入都显示出来;
例:while(cin.peek() != '\n')
cout << (p=cin.get());
6、cin.read(buf, n) 接受指定数目的字符到数组中(可读入空白符),提前结束的话输入文件结束符(Ctrl+Z);
7、cin.write(buf,n) 从数组中输出指定数目的字符,若这个数目大于数组长度,则输出整个数组;
8、cin.gcount() 统计cin.read() 输入的字符数目;
9、cin.width(n) /cout.width(n) 设置域宽,cin.width() 比输入的域宽小1,因为输入的字符串后必须加上一个空字符;
10、#ifdef...#else...#endif 标识符已被#define 命令定义过,则对程序片段1进行编译,否则对程序片段2进行编译;该形式还用于防止重复包含头文件;
例:#ifndef _POINT_H_
#define _POINT_H_
......
#endif
11、创建累对象后记得初始化;
例:Animal :: Animal : age(1) , minEnergyLevel(5) {positioin[0] = 0; position[1] = 0};
Animal Animal11(“dog”);
12、可使用new来动态创建对象,清除由new开辟的对象使用delete;
例:Animal * a = new Animal(“dog”);
Animal * b = new Animal();
delete[] c;
13、友元函数可访问类的私有成员,是非成员函数,要写在类中;
例:friend void fun(Animal &a);
14、拷贝构造函数;
例:Time :: Time(Time &t)
{
Hour = t.hour;
Minute = t.minute;
Second = t.second;
}
15、常量限定;
例:const float PI=3.1415926;
Void fun() const;
16、重载函数(函数名相同,参数个数和类型不同,函数返回类型可不同);
17、继承。在派生过程中构造函数和析构函数都不能被继承,除此以外是所有成员都能被继承;
例:(派生类构造函数说明)派生类名::派生类名:基类名1,基类名2,......{...}
18、虚函数。虚函数必须是成员函数;
例:virtual fun(int n);
19、模版函数;
例:template <class T>
T& max(T& x, T& y){
return x < y ? y : x
};
template <class X, class Y>
void output(X x, Y y){
cout << x << “ ” << y << endl;
};
20、指针;
例:int i=0;
int y=0;
int *p = i;
p = &j;
例:int a[3] = {0,1,2};
int *p = a; / int *p; p=&a[0];
21、函数传递有三种方式:按值传递、指针传递、引用传递;
22、字符串操作(P138);