1.重载函数的名字是相同的 但是记得要分别在函数开头声明不同重载后的多个函数
2.重载不是一个真正面向对象的特征,他只是可以简化编程互作的一个方案,而简化互作正是c++的全部需求
3.-对函数(方法)进行重载一定要谨慎,不要“无的放矢”或“乱点鸳鸯”
4.-注意区分重载和覆盖(覆盖后边我们会讲到) ;
-我们只能通过不同参数进行重载,但家能通过不同的返回值(尽管后者也是一种区别)
5.最后,对函数进行重载的目的是为了方便对不同数最后,对函数进行重载的目的是为了方便对不同数
#include<iostream>
void converttemperature(double tempin, char typein);
void converttemperature(int tempin, char typein);
int main()
{
double tempin;
int tempinint;
char typein;
std::cout << "请以【xx.x c】或【xx.x f】格式输入" << std::endl;
std::cin >> tempin >> typein;
converttemperature(tempin, typein);
std::cin >> tempinint >> typein;
converttemperature(tempinint, typein);
}
void converttemperature(double tempin,char typein)
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
double temout;
char typeout;
switch (typein)
{
case'c':
case'C':temout = RATIO * tempin + ADD_SUBTRACT; typeout = 'F'; break;
case'f':
case'F':temout = (tempin - ADD_SUBTRACT) / RATIO; typeout = 'C'; break;
default:std::cout << "输入错误 " << std::endl;
break;
}
std::cout << "此时的温度转化为 " << "\n" << tempin << typein << "=" << temout << typeout;
std::cin.ignore(100, '\n');
std::cin.get();
}
void converttemperature(int tempin, char typein)
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
double temout;
char typeout;
switch (typein)
{
case'c':
case'C':temout = RATIO * tempin + ADD_SUBTRACT; typeout = 'F'; break;
case'f':
case'F':temout = (tempin - ADD_SUBTRACT) / RATIO; typeout = 'C'; break;
default:std::cout << "输入错误 " << std::endl;
break;
}
std::cout << "此时的温度转化为 " << "\n" << tempin << typein << "=" << temout << typeout;
std::cin.ignore(100, '\n');
std::cin.get();
}