2017-09-03 13 views
1

我只是想知道这个消息对视觉工作室意味着什么。这是否意味着默认情况下,类中的变量设置为私有。我无法在任何地方明确回答这个问题。访问说明符不会更改辅助功能级别。这是什么意思?

这是我的代码:

#pragma once 
class number 
{ 
private: // <-- that is grey in the IDE and it shows the text box when you hover over it 
    int random_number; 
public: 
    number(int x); 
    int get_number() const { return random_number; } 
    void set_number(int number) { random_number = number; } 
    ~number(); 
}; 
+0

[Cppreference-classes](http://en.cppreference.com/w/cpp/language/classes)对于课堂相关问题是一个很好的起点。除此之外,我推荐阅读一本C++书籍。 –

回答

0

你可能不小心写了公共或私人两次连续。而第二个访问说明符什么也不做。 默认情况下,类中的变量被设置为private,结构中的变量被设置为public,因此这也可能是消息的原因。

2

如果您未指定任何内容,则在通过关键字class定义类时,private是隐含的。在其他方面,以下定义是相同的:如果你使用关键字struct而不是class

class C { 
    int i; 
}; 

class C { 
private: 
    int i; 
}; 

事实正好相反:

struct C { 
    int i; 
}; 

struct C { 
public: 
    int i; 
}; 

也就是说,Visual Studio是告诉您private被多余。您的数据成员在两种情况下都是私有的。

相关问题