【发布时间】:2023-04-07 06:37:02
【问题描述】:
考虑一下:
我有一个包含一些私有变量和一些公共方法的类,例如设置器或构造器。当我实现这些方法时,说this->variable = 0; 或namespace::class::variable = 0; 有什么区别吗?
在标题(example.h)中:
namespace spc
{
class MyClass
{
public:
MyClass();
private:
int variable;
int variable2;
};
}
现在在 cpp 文件 (example.cpp) 我有:
spc::MyClass::MyClass()
{
spc::MyClass::variable = 0;
this->variable2 = 0;
}
这将编译。而且在应用程序源代码中,此类的构造和对象都将具有值为 0 的变量(假设我也有一些 getter)。所以我的问题是:这两行代码有什么不同吗?
【问题讨论】:
-
两者都不需要。
-
那么如何给成员变量赋值呢?只是说'variable=0;'?
-
是的,只要你在一个成员函数中或者变量是公共的
标签: c++ class oop namespaces this