如何访问静态类成员?
How can i access a static class member?
class Point
{
private:
int X, Y;
public:
static const Point Origin;
static const Point OneZero;
static const Point ZeroOne;
};
如何访问原点?
对于静态,写:
Point::Origin
或者更完整的例子:
namespace Someplace {
int fun() {
return Point::Origin.X;
}
}
尽管在类的作用域内不需要限定Point::
-您可以简单地写Origin
按如下方式为类添加访问器("getter "):
class Point
{
private:
int X, Y;
public:
static const Point Origin;
static const Point OneZero;
static const Point ZeroOne;
int getX() {return X;}
int getY() {return Y;}
};
然后你可以像这样访问Point的内容:
int originX = Origin.getX();
或者像这样:
Point myPoint;
int pointX = myPoint.getX();
而且,在Point类中存在Point类的静态实例也令人困惑。下面可能是您想要做的:
class Point
{
public:
// Added a constructor that takes two arguments
Point(int pointX, int pointY) {X = pointX; Y = pointY;}
int getX() {return X;}
int getY() {return Y;}
private:
int X, Y;
};
int main()
{
const Point Origin(0,0);
const Point OneZero(1,0);
const Point ZeroOne(0,1);
int originX = Origin.getX();
};
相关文章:
- (为什么)我们可以在初始化中将非静态类成员分配给静态变量吗?
- 是否通过单元化指针UB访问静态类成员
- 在子类中填充静态类成员
- uninit_member:非静态类成员字段 m_cJobState.bstatus 未在此构造函数中初始化,也不在其调
- uninit_member:非静态类成员m_wszParams未在此构造函数中初始化,也不在它C++中调用的任何函数中初
- 说明通过指针访问非静态类成员函数
- 静态类成员的使用
- 静态类成员不是与 this 指针没有关联吗?
- 使用静态类成员而不是私有字段之间的速度差异是什么?
- 如何在 Visual Studio 中显示模板的静态类成员
- 即使没有析构函数,非静态类成员也会被销毁吗?
- 静态模板函数访问静态类成员
- 长镜头 -- 可能有一个静态类成员,该类成员具有访问非静态成员的 lambda
- C 静态类成员未在 *静态库 *中初始化
- 在OpenMP中制作静态类成员螺纹
- 正在初始化初始化函数中的静态类成员
- 不推荐使用C++11中的静态类成员
- 我们可以在构造函数中定义静态类成员吗?
- 为什么静态类成员没有内存泄漏错误?
- 架构X86_64静态类成员的错误符号X86_64错误