首页 > 其他分享 >函数模板重载和实例化例题

函数模板重载和实例化例题

时间:2024-07-26 15:20:32浏览次数:15  
标签:arr const int max char maxn 重载 例题 模板

// CPPTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<fstream>
#include <iostream>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
template <class T>
T maxn(T *arr,int n) {
	T max=arr[0];
	for (int i = 1; i < n; i++) {
		if (arr[i] > max)
			max = arr[i];
	}

	return max;
}
template<>
 const char * maxn(const char *arr[], int n) {
	const char *p = arr[0];
	for (int i = 1; i < n; i++) {
		if (strcmp(p, arr[i]) < 0) {
			p = arr[i];
		}
	}

	return p;
}
int main() {
	
	int arri[6] = { 3,4,6,2,1,8 };
	double arrd[4] = { 1.1,2.2,3.3,4.4};
	const char * arrc[4] = { "Hello","How are you","Amercian","Zenith" };
	int max_i = maxn(arri,6);
	double max_d = maxn(arrd,4);
	const char *p = maxn(arrc, 4);
	cout << "max i=" << max_i << endl;
	cout << "max d=" << max_d << endl;
	cout << "max string=";
	for (; *p != 0; p++)
		cout << *p;

	cout << endl;

}


	

标签:arr,const,int,max,char,maxn,重载,例题,模板
From: https://www.cnblogs.com/zhongta/p/18325432

相关文章

  • 手写模板的设计
    手写模板的设计本教程由做字体网(www.zuoziti.com)友情提供!本教程是制作手写字体系列教程,建议从序言部分开始阅读学习!如需交流,请加QQ924268440本节视频教程先看一下模板样子从这一节我们正式开始制作手写字体,制作手写字体的第一步就是制作手写字体模板,先看一下我的模......
  • C++ primer plus 第16章string 类和标准模板库, 函数符概念
    C++primerplus第16章string类和标准模板库,函数符概念C++primerplus第16章string类和标准模板库,函数符概念文章目录C++primerplus第16章string类和标准模板库,函数符概念16.5.1函数符概念程序清单16.15functor.cpp16.5.1函数符概念正如STL定......
  • C++ primer plus 第16章string 类和标准模板库, 函数对象
    C++primerplus第16章string类和标准模板库,函数对象C++primerplus第16章string类和标准模板库,函数对象文章目录C++primerplus第16章string类和标准模板库,函数对象16.5函数对象16.5函数对象很多STL算法都使用函数对象–也叫函数符(fiunctor)。......
  • 网站源码装饰公司pbootcms模板网页设计主题
    装饰公司的网站设计分享我很高兴向大家介绍我刚刚制作的装饰公司的网站设计。友好的站点界面,是打动访客的第一步。装饰公司网站的主题网站设计通常需要考虑多个方面,以确保网站能够有效地展示公司形象、吸引潜在客户并提升业务。以下是对装饰公司网站主题设计的详细介绍:一、......
  • P9304 「DTOI-5」3-1题解,c++树的遍历例题
    题意给定以n(1≤n≤1......
  • t4模板无法加载文件或程序集system.runtime
        在.net6.0环境下使用T4模板生成代码报错错误正在运行转换:System.IO.FileNotFoundException:未能加载文件或程序集“System.Runtime,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。......
  • 洛谷 模板 单源最短路径(标准版)
    原题p4779题目背景2018年7月19日,某位同学在 NOIDay1T1归程 一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100→60;Ag→Cu;最终,他因此没能与理想的大学达成契约。小F衷心祝愿大家不再重蹈覆辙。题目描述给定一个 n 个点,m 条有向边的带非负......
  • 字符串哈希/双哈希模板
    structHash{usingu64=unsignedlonglong;u64base=13331;vector<u64>pow,hash;Hash(string&s){s=""+s;intN=s.size();pow.resize(N+1),hash.resize(N+1);pow[0]=1,......
  • C++学习笔记-operator关键字:重载与自定义操作符
    在C++编程中,operator关键字扮演着极其重要且独特的角色。它允许开发者为内置类型或自定义类型重载或定义新的操作符行为。这一特性极大地增强了C++的表达能力,使得代码更加直观、易于理解和维护。本文将深入探讨C++中operator关键字的使用,包括操作符重载和自定义操作符的基本......
  • 设计模式C++001__模板方法
    设计模式C++001__模板方法“组件协作”模式:现代软件专业分工之后的第一个结果就是“框架与应用程序的划分”,组件“协作”模式通过晚绑定,来实现框架与应用程序之间的松耦合。包括:模版方法,观察者模式,策略模式1、模板方法模式:动机:在软件构建过程中,对于一项任务,它常常有稳定的整......