Redian新闻
>
two c++ interview questions! (转载)
avatar
two c++ interview questions! (转载)# Programming - 葵花宝典
x*o
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: xltao (iii), 信区: JobHunting
标 题: two c++ interview questions!
发信站: BBS 未名空间站 (Wed Sep 19 15:09:11 2007)
#include
using namespace std;
class A
{
protected:
int nValue;
public:
A( int n ) : nValue( n )
{
nValue++;
}
};
class B : public A
{
public:
B( int n ) : A( n * 10 )
{
this->nValue += 50;
}
void Output()
{
cout << nValue << endl;
}
};
int main()
{
B b( 10 );
b.Output();
retu
avatar
F*n
2
What Why?
What's the questions?
avatar
x*o
3
The answer is
1) 151.
2) 2 1 0
I mean why the answer is 151 for code1, 2 1 0 for code2.

【在 x***o 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: xltao (iii), 信区: JobHunting
: 标 题: two c++ interview questions!
: 发信站: BBS 未名空间站 (Wed Sep 19 15:09:11 2007)
: #include
: using namespace std;
: class A
: {
: protected:
: int nValue;

avatar
X*r
4
2) is wrong, strictly speaking.
From the Holy Standard:
5.2.2 Function call
8. The order of evaluation of arguments is unspecified.

【在 x***o 的大作中提到】
: The answer is
: 1) 151.
: 2) 2 1 0
: I mean why the answer is 151 for code1, 2 1 0 for code2.

avatar
s*u
5
8. The order of evaluation of arguments is unspecified.
但是为什么运行结果都是2,1,0,而不是别的呢?谢谢
avatar
y*w
6
全看今天compiler ha不happy了

【在 s******u 的大作中提到】
: 8. The order of evaluation of arguments is unspecified.
: 但是为什么运行结果都是2,1,0,而不是别的呢?谢谢

avatar
t*t
7
"都"是2,1,0?你这个“都”是哪里来的?你试过几个编译器?试过几个平台?

【在 s******u 的大作中提到】
: 8. The order of evaluation of arguments is unspecified.
: 但是为什么运行结果都是2,1,0,而不是别的呢?谢谢

avatar
k*f
8
一台机器运行10遍. :)

【在 t****t 的大作中提到】
: "都"是2,1,0?你这个“都”是哪里来的?你试过几个编译器?试过几个平台?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。