下面几个题分别输出啥,为啥???

xiao_xiao_zi 2009-09-30 10:06:50
1.
#include <iostream>
using namespace std;


int main()
{
float a = 1;
cout<<boolalpha<<( (int)a == (int&)a );
float b = 0;
cout<<boolalpha<<( (int)b == (int&)b );
return 0;
}
2.
#include <iostream>
using namespace std;


class A
{
public:
A()
{
printf("A");
}
};
int main()
{
A *p1 = new A;
A *p2 = malloc(sizeof(A));
return 0;
}

3.
#include <iostream>
using namespace std;


class A
{
public:
A()
{
i = 3;
}
void foo()
{
printf("%d\n",i);
}
private:
static int i;
};
int main()
{
A a;
a.foo();
return 0;
}
4.
#include <iostream>
using namespace std;

typedef void (*PFN)();

class A
{
public:

void foo()
{
run(func);
}
private:
void run(PFN pfn) {pfn();}
void func() {printf("run\n");}


};
int main()
{
A a;
a.foo();
return 0;
}
5.
#include <iostream>
using namespace std;

typedef void (*PFN)();

class A
{
A()
{
printf("A()");
}
public:

static A &get()
{
static A a;
return a;
}


};
int main()
{
A::get();
return 0;
}
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanjingwei 2009-10-02
  • 打赏
  • 举报
回复
下面几个程序有点问题,改了下后输出如下
2 输出A
3 输出3
4 输出run
5 输出A()
xiao_xiao_zi 2009-10-02
  • 打赏
  • 举报
回复
下面的没人知道吗???
rocketball 2009-09-30
  • 打赏
  • 举报
回复
int main()
{
float a = 1;
cout < <boolalpha < <( (int)a == (int&)a );// 两个不相等
float b = 0;
cout < <boolalpha < <( (int)b == (int&)b );// 相等
return 0;
}
(int&)a 这个是把值转换成内存中的保存值,这里a的表示方法是float形的储存方法,具体你可以找下float的存储方式
OenAuth.Core 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 morilasi 的回复:]
跑一下不就知道了
[/Quote]

后面的,自己跑一下吧,懒得看了
OenAuth.Core 2009-09-30
  • 打赏
  • 举报
回复

2
输出:
A

//后面那个应该是A *p2 = (A*)malloc(sizeof(A));吧?


morilasi 2009-09-30
  • 打赏
  • 举报
回复
跑一下不就知道了
OenAuth.Core 2009-09-30
  • 打赏
  • 举报
回复

//作业帖???

int main()
{
float a = 1;
cout < <boolalpha < <( (int)a == (int&)a );// 两个不相等
float b = 0;
cout < <boolalpha < <( (int)b == (int&)b );// 相等
return 0;
}


64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧