一、实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二、实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
2.使用函数的模板来实现上述功能。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
三、程序代码
实验内容1题:
1.设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
#include <iostream> using namespace std; int sum(int a,int b) { return a+b; } int product(int a,int b) { return a*b; } float sum(float c,float d) { return c+d; } float product(float c,float d) { return c*d; } int main() { int a,b; float c,d; cout<<"请输入两个整数:"<<endl; cin>>a>>b; cout<<"两个整数之和:"<<sum(a,b)<<endl; cout<<"两个整数之积:"<<product(a,b)<<endl; cout<<endl; cout<<"请输入两个小数:"<<endl; cin>>c>>d; cout<<"两个小数之和:"<<sum(c,d)<<endl; cout<<"两个小数之积:"<<product(c,d)<<endl; return 0; }
实验内容2题
2.使用函数的模板来实现上述功能。
#include <iostream> using namespace std; template <class A,class B> void sum(A a,B b) { cout<<"a + b ="<<a+b<<endl; } template <typename A,typename B> void product(A a,B b) { cout<<"a * b = "<<a*b<<endl; } int main() { float c,d; cout<<"请输入两个数a,b:"<<endl; cin>>c>>d; sum(c,d); product(c,d); return 0; }
实验3题
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
//头文件 "3.h"
#include <iostream> using namespace std; template <class T> class Count { public: void sum(T a,T b); void product(T a,T b); private: T a; T b; }; <span style="color:#ff6666;"> </span>
//源文件 "3.cpp"
#include "3.h" int main() { Count<float> count; float n,m; cout<<"请输入两个数:"<<endl; cin>>n>>m; count.sum(n,m); count.product(n,m); return 0; } template <class T> void Count<T>::sum(T a,T b) { cout<<"两个数之和为:"<<a+b<<endl; } template <class T> void Count<T>::product(T a,T b) { cout<<"两个数之积为:"<<a*b<<endl; }