C++ —— 模板-1 (简单使用)

函数模板
#include <iostream>

template<typename T>
T Max(T t1, T t2)
{
	return t1 > t2 ? t1 : t2;
}

template<typename T>
T Min(T t1, T t2)
{
	return t1 < t2 ? t1 : t2;
}

int main()
{
	std::cout << Max(30, 12) << std::endl;
	std::cout << Min('d' , 'c') << std::endl;

	system("pause");
	return 0;
}


类模板
#ifndef Water_H
#define Water_H

#include <iostream>

template<typename  T>
class Water
{
public:
	Water();
	~Water();

	void Push(T);
	void Pop();

	void print();

private:
	T *ptr = nullptr;
	unsigned short value = 0;

	unsigned short MAX = 10;
};

#endif
template<typename T>
Water<T>::Water()
{
	ptr = new T[sizeof(T)*MAX];
}

template<class T>
Water<T>::~Water()
{
	if (ptr)
		delete[]ptr;
	ptr = nullptr;
}

template<class T>
void Water<T>::Push(T va)
{
	if (value < MAX)
		ptr[value++] = va;
}

template<class T>
void Water<T>::Pop()
{
	if (value > 0)
		--value;
}

template<class T>
void Water<T>::print()
{
	for (unsigned short index = 0; index < value; std::cout << "index:" << index << " value:" << ptr[index] << "\n", ++index);
}
#include "Water.h"

int main()
{
	Water<char> water;
	for (unsigned short index = 0; index < 5; water.Push((char)(index + 97)) , ++index);
	water.print();
	water.Pop();
	water.print();

	system("pause");
	return 0;
}

关注

笔者 - jxd      (码农总动员)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信必诺

嗨,支持下哥们呗。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值