【问题标题】:Defining functions of a class in .cpp of a Dynamic-link Library在动态链接库的 .cpp 中定义类的函数
【发布时间】:2016-09-10 22:07:39
【问题描述】:

最近我开始使用 c++,我想知道。 如果我正在处理 DLL,我首先在标头中定义所有类及其函数,然后将它们的功能写入同一项目的 .cpp 文件中。 但是如果我只定义类本身,然后在.cpp 文件中定义它们的函数呢?

这将在一定程度上减少所需的代码量,并且代码的可读性更高,:: 符号更少。

这样的事情可能吗?

【问题讨论】:

  • 您是说您只想将class C; 放在标题中,然后将void C::f() {...} 放在源代码中吗?那是行不通的。包含该标头的任何人都不知道该类提供了一个名为 f 的方法,因此无法调用它。
  • 为使用DLL的程序编写代码,不可能不明显。

标签: c++ visual-c++ dll header-files


【解决方案1】:

您必须定义您的类(结构等)并在标题中声明您的命名空间和函数。话虽如此,您可以使用

using namespace <your_library_namespace>;

然后<your_library_namespace> 中的源文件中的所有内容都不需要在所有内容之前使用<your_library_namespace>::

【讨论】:

  • "declare your class" 显然是指"define your class"。一个类声明是class X;
  • 是的,你需要定义你的类(和结构等)并声明你的函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 2011-01-14
  • 2019-10-27
  • 1970-01-01
相关资源
最近更新 更多