概述
C++快速入门---函数的重载(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::cin >> tempIn >> typeIn;
std::cin.ignore(100, 'n');
std::cout << "n";
convertTemperature(tempIn, typeIn);
std::cout << "请以 [xx C] 或 [xx F]的形式输入温度:";
std::cin >> tempInInt >> typeIn;
std::cin.ignore(100, 'n');
std::cout << "n";
convertTemperature(tempInInt, typeIn);
return 0;
}
void convertTemperature(double tempIn, char typeIn)
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
double tempOut;
char typeOut;
switch(typeIn)
{
case 'C':
case 'c':
tempOut = (tempIn * RATIO) + ADD_SUBTRACT;
typeOut = 'F';
typeIn = 'C';
break;
case 'F':
case 'f':
tempOut = (tempIn - ADD_SUBTRACT) / RATIO;
typeOut = 'C';
typeIn = 'F';
break;
default:
typeOut = 'E';
break;
}
if(typeOut != 'E')
{
std::cout << tempIn << typeIn << " = " << tempOut << typeOut << "nn";
}
else
{
std::cout << "请按照给出格式输入!" << "nn";
}
std::cout << "请输入任意字符结束!" << "n";
std::cin.get();
}
void convertTemperature(int tempIn, char typeIn)
{
const unsigned short ADD_SUBTRACT = 32;
const double RATIO = 9.0 / 5.0;
int tempOut;
char typeOut;
switch(typeIn)
{
case 'C':
case 'c':
tempOut = (tempIn * RATIO) + ADD_SUBTRACT;
typeOut = 'F';
typeIn = 'C';
break;
case 'F':
case 'f':
tempOut = (tempIn - ADD_SUBTRACT) / RATIO;
typeOut = 'C';
typeIn = 'F';
break;
default:
typeOut = 'E';
break;
}
if(typeOut != 'E')
{
std::cout << tempIn << typeIn << " = " << tempOut << typeOut << "nn";
}
else
{
std::cout << "请按照给出格式输入!" << "nn";
}
std::cout << "请输入任意字符结束!" << "n";
std::cin.get();
}
最后
以上就是拼搏大门为你收集整理的C++快速入门---函数的重载(5)的全部内容,希望文章能够帮你解决C++快速入门---函数的重载(5)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复