一.实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二.实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
三.实验结果
程序一:
#include<iostream.h>
int add(int a,int b)
{
int sum;
sum=a+b;
return sum;
}
float add(float a,float b)
{
float sum;
sum=a+b;
return sum;
}
int mul(int m,int n)
{
int fact;
fact=m*n;
return fact;
}
float mul(float m,float n)
{
float fact;
fact=m*n;
return fact;
}
void main()
{
int a,b;
float m,n;
cout<<"请输入两个整数:";
cin>>a>>b;
cout<<"这两个数的和为:"<<add(a,b)<<endl;
cout<<"这两个数的积为:"<<mul(a,b)<<endl;
cout<<endl;
cout<<"请输入两个小数:";
cin>>m>>n;
cout<<"这两个数的和为:"<<add(m,n)<<endl;
cout<<"这两个数的积为:"<<mul(m,n)<<endl;
}
调试结果:
程序二:
#include<iostream.h>
template<class T>
T add(T x,T y)
{
return x+y;
}
template<class T>
T mul(T x,T y)
{
return x*y;
}
void main()
{
int a,n;
cout<<"请输入两个整数: ";
cin>>a>>b;
cout<<"和="<<add(a,b)<<endl;
cout<<"积="<<mul(a,b)<<endl;
cout<<"请输入两个小数:";
cin>>m>>n;
cout<<"和="<<add(m,n)<<endl;
cout<<"积="<<mul(m,51); font-family:Arial; font-size:14px; line-height:26px"> 程序三:
<头文件>
#ifndef Count_H //避免重复包含Count.h头文件
#define Count_H
template<class T>
class Count
{
T x,y;
public:
T add(T a,T b);
T mul(T m,T n);
};
template<class T>
T Count<T>::add(T a,T b)
{
T sum;
x=a;y=b;
sum=x+y;
return sum;
}
template<class T>
T Count<T>::mul(T m,T n)
{
T fact;
x=m;y=n;
fact=x*y;
return fact;
}
#endif
<源程序文件>
#include<iostream.h>
#include "Count.h"
void main()
{
int a,b;
cout<<"请输入两个整数:";
cin>>a>>b;
Count<int> count1;
cout<<"和="<<count1.add(a,b)<<endl;
cout<<"积="<<count1.mul(a,b)<<endl;
float m,n;
cout<<"请输入两个小数:";
cin>>m>>n;
Count<float> count2;
cout<<"和="<<count2.add(m,n)<<endl;
cout<<"积="<<count2.mul(m,51); font-family:Arial; font-size:14px; line-height:26px"> 四.实验总结
通过这次的实验,我发现对函数模板和类模板的编写还不够熟练,须多加练习!