第二十三模板 10具有多个参数的模板

本文探讨了使用模板类和对象数组实现特定功能的过程,包括构造函数执行、成员函数调用以及数组元素的访问和修改。
//第二十三模板 10具有多个参数的模板
/*#include <iostream>
#include <string>
using namespace std;
template<class T1, class T2>
class People
{
public:
	T1 &getx();
	T2 &gety();
	T1 getx()const{ return x;}
	T2 gety()const{ return y;}
	People(const T1&a, const T2&b):x(a),y(b){ cout<<"构造函数执行"<<endl;}
private:
	T1 x;
	T2 y;
};

template<class T1, class T2>
T1&People<T1,T2>::getx()
{
    return x;
}
template<class T1, class T2>
T2&People<T1,T2>::gety(){
   return y;
}
int main()
{
	People<string, int>one[4]={
	   People<string,int>("hello world",5),
	   People<string,int>("good morning",6),
	   People<string,int>("sit down please",8),
	   People<string,int>("have a cup of tea",2)	
	};
	int num = sizeof(one)/sizeof(People<string,int>);
	cout<<"输出对像数组one的所有元素"<<endl;
	for(int i=0; i<num; i++){
		cout<<one[i].gety()<<"\t";
		cout<<one[i].getx()<<endl;
	}

	cout<<"修改one[3]的数据并输出"<<endl;
	one[3].getx()="gertie's fab eat";//有点不能理解,这里为什么能直接的用=赋值给getx呢
	one[3].gety()=6;
	cout<<one[3].gety()<<":\t";
	cout<<one[3].getx()<<endl;
}*/

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值