2008年3月6日星期四

No Generic in C++?

一直以为Java的泛型是从C++的模板学来的,所以C++的模板也应该能够很好的支持最简单的泛型编程。
今天尝试写一个小Demo的时候发现,C++竟然不支持把模板类的声明和实现分到两个文件!
主程序中
Faint::Heart *h=new Faint::Heart();
h->test<int>(-1);
声明Heart.h
#ifndef HEART_H_
#define HEART_H_

namespace Faint {
class Heart {
public:
Heart();
virtual ~Heart();
template<class T> T test(T t);

};

}

没有评论: