《数据结构》实验一:VC编程工具的灵活使用
一..实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二.实验内容
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
3..第三个程序代码如下:
Node.h
#ifndef Node_H
#define Node_H
template <typename T>//类属参数T
class M//类定义体
{public:
T add(T x,T y);
T multiply (T x,T y);
};
#endif
Node.cpp
#include"Node.h"
template<typename T>
T M<T>::add(T x,T y)//返回类型 类名 成员函数(形参表)
{
return x+y;}
template<typename T>
T M<T>::multiply(T x,T y)
{
return x*y;
}
Node_main.cpp
#include<iostream>
#include"Node.h"
#include<stdlib.h>
#include<iomanip>
using namespace std;
template<typename T>
T M<T>::add(T x,T y)//返回类型 类名 成员函数(形参表)
{
return x+y;}
template<typename T>
T M<T>::multiply(T x,T y)
{
return x*y;
}
int main()
{
M<int> x;
M<float>y;
int a,b;
float c,d;
cout<<"请输入两个整数:";
cin>>a>>b;
cout<<"请输入两个浮点型的数:";
cin>>c>>d;
cout<<"两整数和为:"<<x.add(a,b)<<endl;
cout<<"两整数积为:"<<x.multiply(a,b)<<endl;
cout<<"两小数和为:"<<y.add(c,d)<<endl;
cout<<"两小数积为:"<<y.multiply(c,d)<<endl;
return 0;
}
多文件结构:
编译结果:
编译过程的一些问题:
1.将代码保存再次打开后左侧的文件观察列表无法显示工作区间:
虽然知道了这个按键可以打开列表但工作区间还是空白的
2.在源程序文件Node_main.cpp与Node.cpp文件中有代码是重复的:
template<typename T>
T M<T>::add(T x,T y)//返回类型 类名 成员函数(形参表)
{
return x+y;}
template<typename T>
T M<T>::multiply(T x,T y)
{
return x*y;
}