您的位置:首页 > 编程语言 > C语言/C++

C++如何在.h头文件中直接定义函数

2017-10-24 22:56 447 查看
出发点:方便。把辅助函数直接写在头文件中,需要就直接include。

可如果普通的定义,一旦文件被2个cpp引用,就会有multiple definition错误。

鉴于头文件中可以定义一个类,包括在类中定义函数。

再考虑到friend关键词,可以让函数作用域扩展到包含该类定义的作用域

于是得出以下形式的方式:

void func();  // declare
class anyway {
friend void func() {
// body
}
};


如果不在外部先声明,会找不到这个函数。用struct也行。

先声明,然后在一个辅助类中以友元方式写入函数定义。

从此肆无忌惮的include。

不过不知道会不会有什么副作用。。。

可能实际中不会需要这种方便的吧,还是乖乖的把定义写在cpp,甚至可以直接编成库了……

只是project中又要添加各种目录。这样做只要头文件目录就够了……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++
相关文章推荐