学习C++过程中,遇到一道问题:
下面对静态数据成员的描述中,正确的是: A.可以在类内初始化 B.不能被类的对象调用 C.不能受private修饰符的作用 D.可以直接用类名调用
本以为是很简单的一道问题,类中变量,受private操作符作用应该是没有质疑的,但是我所看到的书中(人民邮电出版社《C和C++程序员面试秘笈》,感觉还是挺好的~),答案C是正确的(当然还有D,D没有争议)
而网上大多是认为C是错误的
有语云:治学要严谨。所以我决定自己写段代码观察下
代码:
#include <iostream>
#include <conio.h>
using namespace std;
class test
{
public:
static int i;
test() {}
void print();
private:
static int j;
};
int test::i = 0;
int test::j = 0;
void test::print()
{
cout << "i = "<< i << endl;//对比参照项1
cout << "j = "<< j << endl;//对比参照项2
}
int main()
{
test t;
t.print();
cout << "i = "<< t.i << end