最近在看泛形编程template
在csdn上看到一个问题是:要就把不同类型放到同一个容器中要求能取出来我想了好久终于想出来了
可就是找不到那个帖子了,哎!!!
失策啊!!
#include<iostream>
#include <vector>
#include <string>
using namespace std;
template<class T>
class Container{
private:
vector<T> contain;
public:
Container(){}
~Container(){}
void push_back(const T&t){contain.push_back(t);}
void display(){}
};
class X{};
class Y:public X{
public:
Y(){cout<<"Y(),class"<<endl;}
};
class Z:public X{
public:
Z(){cout<<"Z(),class"<<endl;}
};
// contain.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "container.h"
//#include <iostream>
//using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Y y;
Z z;
Container<X> contain;
contain.push_back(z);
contain.push_back(y);
return 0;
}
我的方案就是建立一个基类然后在以基类实力化
呵呵