加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 06:06:46 所属栏目:安全 来源:网络整理
导读:第三题源代码(运用类模板): 头文件“HEAD.h”: #ifndef HEAD_H #define HEAD_H templatetypename T class Cal { public: T add(T x,T y); T multiply(T x,T y); }; #endif 源文件: #includeiostream #include"HEAD.h" #includestdlib.h #includeiomanip

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

头文件“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++编译系统允许为两个或以上的函数取相同的函数名,但形参的个数或者形参的类型不应相同。在编译时,编译器根据实参和形参的类型及个数进行最佳匹配,自动确定所调用的函数。

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

函数模板:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读