我的main.cpp
中有一个主要方法,我想显示我声明的常量int
的值。
我添加了DeclareConstant
类。
这是我的DelcareConstant.h
#pragma once
class DeclareConstant
{
public:
const int x;
Part1(void);
Part1(int x);
~Part1(void);
double getX(){return x;}
};
和来源
#include "Part1.h"
Part1::Part1() : x(55){
}
如何访问X以便我可以在main方法中显示它?我需要检查一下我是否正确初始化它。
答案 0 :(得分:0)
您可以通过getter函数x
访问getX()
,例如:
DeclareConstant dc;
std::cout << dc.getX() << std::endl;
或者
DeclareConstant dc;
std::cout << dc.x << std::endl;
但是,你应该像这样定义你的getX:
class DeclareConstant
{
public:
int getX() const {return x;}
private:
const int x;
};
请隐藏你的班级成员。
答案 1 :(得分:0)
您需要DeclareConstant
的对象或实例来访问DeclareConstant
的{{1}}成员。
x
但是,对于可能的目的和意图,您可以将DeclareConstant myConst;
std::cout << myConst.x << std::endl; // Use x
作为静态成员。
x
您现在不需要实例来获取class DeclareConstant {
public:
static const int x = 55;
// ...
}
:
x
答案 2 :(得分:0)
如果所有实例都使用相同的常量值,则可以将其设置为静态。这有几个优点。
您可以将其定义如下。
class Part1 {
公共: static const int x = 42; 第一部分(无效); Part1(int x); 第一部分〜(无效); double getX(){return x;} };
并将其作为Part1::x
访问。你也应该getX
静态,然后你可以Part1::getX()
。
如果每个实例都有自己的const
值,则无效。