1.重载
(1)两种重载类型:全局函数的重载和类的成员函数重载;
①全局函数重载要两个参数:不会有默认参数; ②类的成员函数重载第一个默认该类的对象作为参数(省略的),少一个参数。
2.友元函数和类友元
(1)使用原因:这个类的私有数据要背其他类访问,不想调用类的成员函数函数(如getAge()等),就申请为友元函数加friend关键字,可以非成员函数直接访问该类的私有成员。
(2)使用形式:在被使用的类里面申明即可。
class Computer{
public:
Computer();
friend void service(string cpu); // 申明友元函数
private:
string cpu; //私有成员
};
class Service{ //电脑服务类
public:
Service();
void serviceComputer(string cpu); //维修电脑cpu方法,要访问私有数据
}
3.C++通过文件流的格式化输入、输出
(1)输入错误判断:
cin>>num;
while(cin.fail()) { //输入错误
cin.clear(); //清空错误标志
ci.ignore(std::numerical_limits<streamsize>::max(),'\n');//相当于清空缓冲区
cout<<"输入错误,重新输入:";
cin>>num;
}