《数据结构》实验一 (3)

前端之家收集整理的这篇文章主要介绍了《数据结构》实验一 (3)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

第三题源代码(运用类模板):

文件“HEAD.h”:

#ifndef HEAD_H
#define HEAD_H
template<typename T>
class Cal
{
public:
T add(T x,T y);
T multiply(T x,T y);
};
#endif

文件

#include<iostream>
#include"HEAD.h"
#include<stdlib.h>
#include<iomanip>
using namespace std;
template<typename T>
T Cal<T>::add(T x,T y)
{
return x + y;
}
template<typename T>
T Cal<T>::multiply(T x,T y)
{
return x*y;
}
int main()
{
Cal<int> x;
Cal<float> y;
cout << "5+8=" << x.add(5,8) << endl;
cout << "4.5+6.1=" << y.add(4.5,6.1) << endl;
cout << "5*8=" << x.multiply(5,8) << endl;
cout << "4.5*6.1=" << y.multiply(4.5,6.1) << endl;
system("pause");
return 0;
}

运行结果截图:


知识点总结:

函数重载:

定义:c++编译系统允许为两个或以上的函数取相同的函数名,但形参的个数或者形参的类型不应相同。在编译时,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定所调用函数

注意点:函数重载无需进行特别的声明,只要所定义的函数与已经定义的同名函数形参形式不完全相同,编译器就会认为是函数的重载。如果某个函数的参数有默认值,必须要保证其参数默认值之后调用形式不与其他函数混淆。

函数模板:

定义:模板是以一种完全通用的方法来设计函数和类的,而不必预先说明将被使用的每个对象的数据类型。通过模板可以产生类或函数的集合,使他们操作不同数据类型的数据,从而避免为每一种数据类型产生一个单独的类或函数。它又分为函数模板和类模板。

原文链接:https://www.f2er.com/datastructure/382977.html

猜你在找的数据结构相关文章