这个原因是多方面的,这条限制却梁拿是强制性的。
一种原因是模板类本质上都是抽象类,并不是真正的实体类,所以编译的时候并不具橡升搭备实体。一个典型的例证就是,当用户不对模板类或者模板函数进行使用的时候,即没有给笑磨出具体的类型实例的时候,编译后的目标文件中,并不会拥有模板类的任何信息。
正是因为如此,其实现必须放在声明里面,因为实现也是“声明”的一部分,整个都是一种“声明”
3个文件分别放置主函数、函数声明、函数实现蔽毕,其中主函数的源文件包含类蚂并脊的头文件,类的源文件需要包含类的头文件如:
主闷渗函数源文件:
#include "head.h"#include <iostream>
using namespace std
int main()
{
A a
a.fun()
a.fun(100)
return 0
}
类的头文件:
// head.hclass A
{
public:
int fun()
}
类的源文件:
//head.cpp#include "head.h"
int A::fun()
{
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)