【发布时间】:2011-05-17 23:44:10
【问题描述】:
我有一个 Foo 类,用于一个小型独立项目。它在 Foo.h 中有一个类定义,并在实现文件 Foo.cpp 中实现了该类的成员函数。
第一个问题——Foo类的成员函数之一是模板方法Foo::doSomething(),这个方法的实现应该出现在Foo.h中的函数声明中是否正确?
Foo::doSomething() 将被实例化的模板参数是两种 Functor 类型之一 - 类 CalcA 和 CalcB。
我应该:
- (A) 将两个 Functor 类的定义和实现全部放在 Foo.cpp 中(它们实际上被其他 Foo 成员函数的实现用来调用 Foo::doSomething)。
- (B) 把两个Functor类的定义和实现放到Foo.h中。
- (C) 我是否应该像使用普通类一样在 Foo.h 和 Foo.cpp 中拆分两个 Functor 的定义和实现?
【问题讨论】: