C++题目提问,中午吃饭闲着的高手帮下忙,在线等!!高手!!!
在下面程序的底画线处填上适当的字句,使该程序执行结果为40。#include<iostream.h>classTest{public:______;Test(inti=0...
在下面程序的底画线处填上适当的字句,使该程序执行结果为40。
#include <iostream.h>
class Test
{ public:
______;
Test (int i=0)
{x=i+x;}
int Getnum()
{return Test::x+7;}
};
_______;
void main()
{Test test;
cout<<test.Getnum()<<endl;;
}
答案:static int x;,int Test::x=30;
[解析]从成员函数访问方式类名::成员可知是静态成员所以static int x;从结果要对初始
化为30,且在类外进行初始化, int Test::x=30;。
根据答案,我是这样分析的,新建test对象的时候会调用构造函数对对象初始化,这时x=x,然后调用成员函数时,返回x+7,这样不是37吗???怎么会是40
求指导!!求高手!!
确定吗确定吗?这是答案啊也会错吗。。。 展开
#include <iostream.h>
class Test
{ public:
______;
Test (int i=0)
{x=i+x;}
int Getnum()
{return Test::x+7;}
};
_______;
void main()
{Test test;
cout<<test.Getnum()<<endl;;
}
答案:static int x;,int Test::x=30;
[解析]从成员函数访问方式类名::成员可知是静态成员所以static int x;从结果要对初始
化为30,且在类外进行初始化, int Test::x=30;。
根据答案,我是这样分析的,新建test对象的时候会调用构造函数对对象初始化,这时x=x,然后调用成员函数时,返回x+7,这样不是37吗???怎么会是40
求指导!!求高手!!
确定吗确定吗?这是答案啊也会错吗。。。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询