2.多行读取的方法
采用数组读取
3.遍历输出,利用大容量字符串
4.读取文件字节数大小,用指针从开头指到末尾
4.fstream的运算符重载
int main()
{
fstream file("1.txt", ios::out);//打开文件,选择写入模式
int x = 888;
char str[] = "大吉大利,明天吃鸡";
file << x << endl; //运算符<<重载 直接输入到文件
file << str << endl;
file.close();
file.open("1.txt", ios::in);//打开文件,选择读取模式
int a = 0;
char arr[20] = { 0 };
file >> a >> arr; //运算符>>重载,直接输出对象
cout << a << endl << arr << endl; //会自动分类读取填入
}
5.作用域运算符::
添加后能切换对象作用域
6.命名空间的嵌套使用规范
7.对string的使用
8.C++中三目运算符
下面二者等效
cout << ((a > b ? a : b) = 100) << endl; //C++中三目运算符算出的是对象
printf("%d", a > b ? (a = 100) : (b = 100));//C语言中算出的是值
9.C++对于C检测增强
(1)全局变量检测增强,不能重复定义
如 int a;int a=10; //该表达式在C中成立,C++中不成立
(2)返回值类型检测增强,不能默认int型,定义函数必须申明类型
(3)const检测增强,C中是伪常量,C++中是真常量
如 int const a=10;int arr[a]={0};//该表达式在C中不成立,C++中成立
10.C与C++的差异
C语言程序结构简单:顺序,循环,分支
缺点:整体形太强,改动代码会连带改动一大片,不易多人开发
C++优点,能把参数和函数封装在同一个类中,达成高度集中又互不干扰状态
11.构造函数的拷贝
12.浅拷贝是等号赋值 = , 深拷贝是拷贝构造函数,再赋值调用
13.this的使用
14.静态数据成员static的使用
(1)内存只有一份,对象之间共享
(2)初始化必须在类外
(3)可以直接通过类访问,不用生成对象
(4)可以在类中被重新赋值,也可以被普通对象访问
15.静态函数成员static的使用
(1)内存只有一份,使用时共享内存
(2)不能访问使用普通成员,得访问静态数据
(3)同样遵循public,private,protected的访问限制
16.单例模式的实现
已知:类是通过调用构造函数创建对象
单例模式的指针方法实现:
第一步.把构造函数放在private中,使类外不能调用,便不能产生对象
第二步.在private中提前创建一个静态数据对象,作为类唯一能生成的对象
第三步.在public中定义一个调用private数据的函数,通过该函数返回那个唯一的对象
17.友元类的使用
(1)友元类中成员可以访问对象类的所有成员,包括private,但反向则不可,表现为单向性
(2)C是B的友元,B是A的友元,那么C不是A的友元,表现无传递性
(3)B是A的友元,但B无法访问A的派生类,表现无继承性