2012 Microsoft Intern Hiring Written Test : 12

12. Fill the blanks inside class definition
class Test
{
public:
	____ int a;
	____ int b;
public:
	Test::Test(int _a, int _b) : a(_a)
	{
		b = _b;
	}
};

int Test::b;

int main(int argc, char* argv[])
{
	Test t1(0, 0), t2(1, 1);
	t1.b = 10;
	t2.b = 20;
	printf("%u %u %u %u", t1.a, t1.b, t2.a, t2.b);
	
	return 0;
}

Running result: 0 20 1 20

(A) static / const

(B) const / static

(C) - / static

(D) const static / static

(E) None of the above

 

问题分析:

静态成员变量需要在类外进行定义及其初始化,类内进行声明;

static成员变量属于类,并不是属于某个对象所有。

const成员变量必须用初始化列表进行初始化;

结论:我的答案是B和C,如果有错误,希望大家能指出。 吐舌头

你可能感兴趣的:(2012 Microsoft Intern Hiring Written Test : 12)