注册 登录
编程论坛 C++教室

[求助]模版编译模型!

aipb2007 发布于 2007-06-16 11:39, 661 次点击
这样用 包含编译模型 编译类模版?

example:
………………………………………………………………
//header file: a.h

class A{
//declaration
};

#include "a.cpp"

………………………………………………………………
//implementation file : a.cpp

//definition of member functions

是这样吧?怎么不对,应该所有的编译器都支持包含编译吧?
如果是模板函数就可以,我试了!

请指教!
6 回复
#2
yuyunliuhen2007-06-16 11:47

// header file: a.h
#ifndef A_H
#define A_H

class A
{
//declaration

};
#endif
#include "a.h"
………………………………………………………………
//implementation file : a.cpp

//definition of member functions


这样试试!^_^

#3
aipb20072007-06-16 12:04
还是不行哦!!

莫非只能把模板类定义和实现都放在一起?
#4
aipb20072007-06-17 09:58
继续求助!
#5
wfpb2007-06-17 20:46

这样分开通过#include一样也是放在一起了啊...
如果你只想放在两个文件里,那么工程里面去掉.cpp文件就可以了(只是cpp文件不参与编译,并不是删除这个文件),
防止编译这个cpp文件。

#6
aipb20072007-06-17 21:06
以下是引用wfpb在2007-6-17 20:46:28的发言:

这样分开通过#include一样也是放在一起了啊...
如果你只想放在两个文件里,那么工程里面去掉.cpp文件就可以了(只是cpp文件不参与编译,并不是删除这个文件),
防止编译这个cpp文件。

谢谢哈!
那我用include也是放在两个文件里嘛!问题是怎么用?

你说那个没听说过,我觉得这样不爽,呵呵~~~~~~~~~~

#7
wfpb2007-06-17 21:23

就是说,鼠标右键->新建两个文件:TmpCls.h,TmpCls.cpp.
里面写上代码.
//----------TmpCls.h-----------//
#ifndef _T_A
#define _T_A
template<class T>
class A
{
T t;
public:
A(T _t){t=_t;}
void show();
};
#include "TmpCls.cpp"
#endif //_T_A

//-----------TmpCls.cpp--------//
#include "TmpCls.h"
template<class T>
void A<T>::show()
{
cout<<t<<endl;
}
要用到这个模板类的时候不要add project,只需要把文件放在工程路径下.
在需要的时候
#include "TmpCls.h"
就可以用模板类了。。

1