金山软件JAVA招聘面试题(笔试题4套)
校园招聘
1,请指出下面程序的错误,并尝试修改之
#define countof(a) {sizeof(a)/sizeof(a[0]))}
int sum(int[] values)
{
int s;
for(int i=0;i
s+=values[i];
return s;
}
int wmain()
{
const int[] values={7,5,6,3,3,3,5,6,8,8};
int s=sum(values);
std::wcout< return 0;
}
2,阅读以下程序,请指出程序中存在哪些不正确或者危险的操作:
class ShapeCollection;
extern ShapeCollection g_Shapes;
class Shape
{
public:
Shape()
{
g_Shapes.Add(this);
}
virtual ~Shape()
{
Dispose();
}
private: void Dispose()
{
FreeResources();
g_Shapes.Remove(this);
}
virtual void FreeResources()=0;
};
class Rectangle:public Shape
{
int left,top,right,bottom;
public:
Rectangle()
{
memset(this,o,sizeof(this));
}
private:
void FreeResources(){}
};
第二部分
1,结构RECT可以表示一个平面上的矩形区域
struct RECT
{
int left,top,right,bottom;
、、、、、、、
更多内容请下载附件