繁体   English   中英

如何在 C++ 的命名空间中访问 class 成员 function

[英]How to access class member function in a namespace in C++

我有一个命名空间。 class 位于命名空间中。

namespace SALES
{
    class Sales
    {
    ...

我已经创建了函数。

void SALES::Sales::set()
{
   ...

现在我正在创建一个 object SALES::Sales interactive ();

但我无法找到方法。 请指出我的错误。

interactive.set(); // 不起作用

SALES::interactive.set(); // 不起作用

interactive.SALES::set(); // 不起作用

访问 function 的非静态成员的方法是使用object 运算符的成员 例如,

class SomeObject {
public:
    SomeObject() {}

    void SayHello() { ... }
    
    int age = 10;
};

// When calling members.
SomeObject object;
object.SayHello();
int age = object.age;

并且在实例化时,使用SALES::Sales interactive; SALES::Sales interactive{}; 反而。 如果不是,当您尝试这样做时: SALES::Sales interactive (); , C++ 将尝试将其解析为 function。 现在在你的情况下,第一个; interactive.set(); 需要工作。

如果它仍然不起作用,则可能与成员的可访问性有关。 默认情况下,类将其成员设为私有; 只有朋友类和它本身可以访问这些对象。 因此,请确保成员是公开的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM