c++中如何访问类变量
Posted
技术标签:
【中文标题】c++中如何访问类变量【英文标题】:How access class variables in c++ 【发布时间】:2011-08-16 12:01:56 【问题描述】:在c++中是否可以在不创建对象的情况下访问其他类中的类变量。我尝试使用静态,但其他类无法识别我的变量。 我有3节课。其中两个应该使用 sae 变量。在第三堂课中,我正在改变价值观。如果您能提供帮助将不胜感激。也许你有一个例子。
【问题讨论】:
您需要更具体。也许发布一些示例代码。 【参考方案1】:class Myclass
public:
static int i;
;
int Myclass::i = 10;
class YourClass
public:
void doSomething()
Myclass::i = 10; //This is how you access static member variables
;
int main()
YourClass obj;
obj.doSomething();
return 0;
【讨论】:
【参考方案2】:static
是正确的关键字:
class A
public:
static int i; // <-- this is a class variable
;
class B
public:
void f() A::i = 3; // <-- this is how you access class variables
;
我能想到的唯一潜在问题是
-
您将类变量设置为
protected
或 private
,从而使其无法从其他代码访问。
您忘记指定类变量的完整范围(在本例中为A::
)。
【讨论】:
谢谢。我也会接受你的回答,但我必须做出决定。【参考方案3】:我认为Singleton Pattern 会有所帮助,但我不是它的忠实粉丝。更好的设计是让一个类获得对象的所有权,并将对该对象的引用传递给其他类。
【讨论】:
【参考方案4】:是的,兄弟,试试这个
结构汽车
string model;
string paint;
int price;
;
int main()
// creates an object of the class car
car BMW;
// assign the values
bmw.model = "m sports";
bmw.paint ="red";
bmw.price = 24000;
【讨论】:
OP 想要这样做“不创建对象”.以上是关于c++中如何访问类变量的主要内容,如果未能解决你的问题,请参考以下文章