c++ - 类未定义

标签 c++

<分区>

我有两个类,一个叫Grocery,另一个叫Strings

Grocery.cpp 中,我尝试使用“Strings”类中名为“copyString”的函数,但出现以下错误:

identifier "copyString" is undefined

“字符串”类只是基本字符串函数的通用类,例如:strcmp、strcpy 等....

在“Grocery”类中,我不想创建“Strings”对象,而是像在 C# 中使用“Math”类一样使用它。只需指明类名并使用点调用该类的函数。

如何创建一个类“Strings”,其功能与上述 C# 中的“Math”类具有相同的功能?

非常感谢! 盖伊

最佳答案

要么你有一个 Strings 类,它有一个方法 getStringLength(),在这种情况下你需要调用 getStringLength() 字符串实例:

Strings s = ....;
s.getStringLength();

或者您有一个带有该方法的命名空间 Strings,在这种情况下您需要这样调用它:

Strings::getStringLength();

如果该函数与 Strings 类无关,请考虑在合适的命名空间中将其设为非成员函数:

字符串.h:

namespace StringFunctions
{
  int getStringLength();
}

字符串.cpp:

StringFunctions::getStringLength() { return 42; }

关于c++ - 类未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13221784/

相关文章:

当不确定类型是什么时,C++ cast void*

c++ - 以可变类模板作为函数调用参数的函数模板参数推导

c++ - 用户选择行时的参数信号

C++ std::cin 卡在 80 行输入处

c++ - 如何更改复选框属性? C++/VS

c++ - 如何使用相同的调用签名在张量中索引和分配元素?

c++ - 使用 MoMu STK 进行音频合成

C++ - 类方法函数指针的 unordered_map 的初始化列表

c++ - 我可以访问 BOOST_LOG_TRIVIAL 使用的流实例吗?

c++ - 使用自定义编译的 zlib 在 Linux 上编译 Boost.Iostream 会导致多个卡纸错误