【发布时间】:2009-12-08 01:34:06
【问题描述】:
当你在头文件中有函数的内联定义,并且你想将函数定义体从头文件中移出并放入 .cpp 文件中时,你不能只是剪切和粘贴函数,因为它们在标题中定义;你必须从这里转换语法:
class Foo
{
void method1() { definition(); }
void method2() { definition(); }
void method3() { definition(); }
};
到这里:
void Foo::method1() { definition(); }
void Foo::method2() { definition(); }
void Foo::method3() { definition(); }
编辑:只是想指出我希望避免的是必须在每个方法名称前面键入类名称。这似乎是一件小事,但是当您将大量函数定义从标头中移出并移入 cpp 文件时,它就会加起来。而当返回类型特别复杂时,你必须在行中找到每个返回类型结束和每个方法名称开始的位置。
所以我的问题是,我必须像上面的第二个代码块那样做吗?如果我这样做了会怎样(以下标准是否符合 C++?):
在 Foo.h 中:
class Foo
{
void method1();
void method2();
void method3();
};
在 Foo.cpp 中:
#include "Foo.hpp"
class Foo
{
void method1() { definition(); }
void method2() { definition(); }
void method3() { definition(); }
};
【问题讨论】:
标签: c++