一、实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二、实验内容
1.设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
2.使用函数的模板来实现上述功能。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
一、
#include<iostream>
using namespace std;
int Add(int a, int b)
{
return a + b;
}
double Add(double a, double b)
{
return a + b;
}
int Multiply(int a, int b)
{
return a*b;
}
double Multiply(double a,double b)
{
return a*b;
}
int main()
{
int za, zb;
double sa, sb;
cout << "Please input 2 integers:";
cin >> za;
cin >> zb;
cout << "Please input 2 double-precision numbers:";
cin >> sa;
cin >> sb;
cout << endl;
cout << za << "+" << zb << "=" << Add(za, zb) << endl;
cout << sa << "+" << sb << "=" << Add(sa, sb) << endl;
cout << za << "*" << zb << "=" << Multiply(za, zb) << endl;
cout << sa << "*" << sb << "=" << Multiply(sa, sb) << endl;
return 0;
system("pause");
}
二、
#include<iostream>
using namespace std;
template<typename T>
T Add(T a, T b)
{
return a + b;
}
template<typename T>
T Multiply(T a, T b)
{
return a*b;
}
int main()
{
int za, zb;
double sa, sb;
cout << "Please input 2 integers:";
cin >> za >> zb;
cout << "Please input 2 double-persion numbers:";
cin >> sa >> sb;
cout << endl;
cout << za << "+" << zb << "=" << Add(za, zb)<<endl;
cout << sa << "+" << sb << "=" << Add(sa, sb) << endl;
cout << za << "*" << zb << "=" << Multiply(za, zb) << endl;
cout << sa << "*" << sb << "=" << Multiply(sa, sb) << endl;
return 0;
system("pause");
}
三、
#include<iostream>
using namespace std;
template<typename T>
class Add{
public:
Add(T a, T b) //构造函数
{
x = a;
y = b;
}
T sum()
{
return x+y;
}
T product()
{
return x*y;
}
private:
T x,y;
};
#include"number.h"
int main()
{
int za, zb;
double sa, sb;
cout << "请输入两个整数:";
cin >> za;
cin >> zb;
cout << "请输入两个双精度数:";
cin >> sa;
cin >> sb;
Add<int> number_1(za,zb);
Add<double>number_2(sa,sb);
cout<<"\n两个整数的和为:"<<number_1.sum()<<endl;
cout<<"两个双精度数的和为:"<<number_2.sum()<<endl;
cout<<"两个整数的积为:"<<number_1.product()<<endl;
cout<<"两个双精度的积为:"<<number_2.product()<<endl;
system("pause");
return 0;
}