一..实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二.实验时间
第二周第二次课。2个学时。
三.实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
代码如下:
#include<iostream> using namespace std; void pro(int x,int y) { int z; z = x * y; cout<<"这两个数的积是:"<<z<<endl; } void pro(double x,double y) { double z; z = x * y; cout<<"这两个数的积是:"<<z<<endl; } void add(int x,int y) { int sum; sum = x + y; cout<<"这两个数的和是:"<<sum<<endl; } void add(double x,double y) { double sum; sum = x + y; cout<<"这两个数的和是:"<<sum<<endl; } int main() { float a,b; cout<<"请输入两个数:"<<endl; cin>>a>>b; cout<<"这两个数是:"<<" a="<<a<<" b="<<b<<endl; add(a,b); pro(a,b); return 0; }
调试结果如下:
2.使用函数的模板来实现上述功能。
#include<iostream> using namespace std; template<class T1,class T2> T1 pro(T1 x,T2 y) { T1 z; z = x * y; cout<<"这两个数的积是:"<<z<<endl; return 0; } template<class H1,class H2> H1 add(H1 x,H2 y) { H1 sum; sum = x + y; cout<<"这两个数的和是:"<<sum<<endl; return 0; } int main() { float a,b); pro(a,b); return 0; }
调试结果如1。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
类模板代码如下:
#include<iostream> using namespace std; template <class T> class heji { public: void add(T x,T y) { T sum; sum = x + y; cout<<"这两个数的和是:"<<sum<<endl; } void pro(T x,T y) { T z; z = x * y; cout<<"这两个数的积是:"<<z<<endl; } };
源程序代码如下:
#include<iostream> using namespace std; #include"jiyuhe.h" int main() { float a,b; cout<<"请输入两个数:"<<endl; cin>>a>>b; cout<<"这两个数是:"<<" a="<<a<<" b="<<b<<endl; heji<double>m; heji<double>n; m.add(a,b); n.pro(a,b); return 0; }调试结果如1.