在动态链接库的 .cpp 中定义类的函数
Posted
技术标签:
【中文标题】在动态链接库的 .cpp 中定义类的函数【英文标题】:Defining functions of a class in .cpp of a Dynamic-link Library 【发布时间】:2016-09-10 22:07:39 【问题描述】:最近我开始使用 c++,我想知道。
如果我正在处理 DLL,我首先在标头中定义所有类及其函数,然后将它们的功能写入同一项目的 .cpp
文件中。
但是如果我只定义类本身,然后在.cpp
文件中定义它们的函数呢?
这将在一定程度上减少所需的代码量,并且代码的可读性更高,::
符号更少。
这样的事情可能吗?
【问题讨论】:
您是说您只想将class C;
放在标题中,然后将void C::f() ...
放在源代码中吗?那是行不通的。包含该标头的任何人都不知道该类提供了一个名为 f
的方法,因此无法调用它。
为使用DLL的程序编写代码,不可能不明显。
您需要The Definitive C++ Book Guide and List。 糟糕!
【参考方案1】:
您必须定义您的类(结构等)并在标题中声明您的命名空间和函数。话虽如此,您可以使用
using namespace <your_library_namespace>;
然后<your_library_namespace>
中的源文件中的所有内容都不需要在所有内容之前使用<your_library_namespace>::
。
【讨论】:
而 "declare your class" 显然是指"define your class"。一个类声明是class X;
。
是的,你需要定义你的类(和结构等)并声明你的函数以上是关于在动态链接库的 .cpp 中定义类的函数的主要内容,如果未能解决你的问题,请参考以下文章