实验一VC++编程环境的灵活应用 【物联网1132-11】

来源:互联网 发布:二极管功耗计算软件 编辑:程序博客网 时间:2024/05/17 09:00


实验目的:

【复习巩固VC编程环境的使用,以及C++模板设计。】

1.回顾并掌握VC单文件结构程序设计过程。

2.回顾并掌握VC多文件工程设计过程

3.掌握VC程序调试过程。

4.回顾C++模板和模板的程序设计。



实验内容:

1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:

1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。

2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。

2.使用函数的模板来实现上述功能。

3.使用一个类来实现上述功能。要求:

  1)使用类模板

  2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。



程序如下显示:

1、


#include <iostream>using namespace std;//物联网1132-11int Jiafa(int a,int b){//cin>>a>>b;cout<<"a+b="<<a+b<<endl;return 0;}double Jiafa(double a,int b){//cin>>a>>b;cout<<"a+b="<<a+b<<endl;return 0;}double Jiafa(int a,double b){//cin>>a>>b;cout<<"a+b="<<a+b<<endl;return 0;}double Jiafa(double a,double b){//cin>>a>>b;cout<<"a+b="<<a+b<<endl;return 0;}void main(){Jiafa(1,2);Jiafa(1.1,2);Jiafa(1,2.1);Jiafa(1.1,2.1);}//“和”的程序如上,“积”的程序相似因此省略。//物联网1132-11


2、函数模板

#include <iostream>using namespace std;template <class A> void Jiafa(A a,A b){cout<<"这两个数的和是"<<a+b<<endl;}//template自动会识别数据的类型所以Jiafa可以当成一个模板使用void main(){    int a=1,int b=2;Jiafa(a,b);double f=3.1,double t=4.5;Jiafa(f,t);}



3、类模板,总程序。

#include <iostream>  using namespace std;    template <typename A,typename B>   class Jiafa {  public:Jiafa(A x,B y);  };template <class A,class B>   Jiafa<A,B>::Jiafa(A x,B y){cout<<"x+y="<<x+y<<endl;}void main()  {  Jiafa<int,int>(3,5);Jiafa<double,int>(3.6,5);Jiafa<int,double>(3,5.5);Jiafa<double,double>(3.6,5.5);}  


头文件:

Jiafa.h

#ifndef Jiafa_H_  #define Jiafa_H_  #include <iostream>   using namespace std;  template <typename A,typename B>   class Jiafa {  public:Jiafa(A x,B y);  };template <class A,class B>   Jiafa<A,B>::Jiafa(A x,B y){cout<<"x+y="<<x+y<<endl;}#endif 

main.cpp

#include “Jiafa.h”#include <iostream>using namespace std; void main()  {  Jiafa<int,int>(3,5);Jiafa<double,int>(3.6,5);Jiafa<int,double>(3,5.5);Jiafa<double,double>(3.6,5.5);}  




运行结果(乘法:略。)



0 0