设为首页收藏本站language 语言切换
查看: 1993|回复: 1
收起左侧

gameloft笔试的几道经典原题

[复制链接]
发表于 2010-5-31 15:48:48 | 显示全部楼层 |阅读模式
有几道题还是比较经典。

#include <iostream>
using namespace std;

void func(float f)
{
printf("%f\n",f);
}

void func(int i)
{
printf("%d\n",i);
}

int main(int argc,char *argv[])
{
func(1.2);
return 0;
}
以上代码在VC中编译有一条错误ambiguous call to overloaded function,问题在于函数重载存在二义性。
解决方法:
(1)、将void func(float f)改为void func(double f)
(2)、将void func(float f)加上一个未定义参数,如void func(float f,int),在main函数中如此调用:
     func(1.2,0);
以上两种方法均能得到正确结果。


#include <iostream>
using namespace std;

int count=0;

class object
{
public:
object(){  count++;  }

~object(){  count--; }
};

int main(int argc,char *argv[])
{
object A,B,C;
printf("%d\n",count);

object D;
return 0;
}
正确结果:3。
首先建立3个对象,分别调用3次构造函数,C的构造函数调用后count值应是3。
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-25 11:28 , Processed in 0.062699 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表