笔试题

llf_hust 2005-11-30 09:42:18
1.代码如下:
class A
{
};
class B
{
A a;
};
A和B的关系是
A。继承(Inheritance)
B.聚合(Aggreation)/组合( Composition)
C.引用(Reference)
D.单件(Singleton)
2.有代码如下
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define NULL 0
void AppendNode(int **ppNode,int nCount,int nValue)
{
if( ppNode != NULL )
{
*ppNode = (int *) realloc(*ppNode,(nCount+1)*sizeof(int));
(*ppNode)[nCount] = nValue;
}
}

int main()
{
int NodeArray[5] = {1,2,3,4,5};
int **ppNode;
*ppNode = NodeArray;
AppendNode(ppNode,5,4);
return 0;
}
请问程序中是否有错误
A。有错误数组操作越界
B。有错误有内存泄露
C。有错误用堆内存分配函数操作栈上内存
D。没有错误

3。某模块提供了如下的接口
class CDataOperator
{
public:
virtual void function(int data) = 0;
};
class CData
{
private:
int m_data[100];
public:
...
void Apply(CDataOperator &opt);
};
void CData::Apply(CDataoperator &opt)
{
for( int k = 0; k < 100; k++)
{
opt.function(m_data[k]);
}
}
请编写一个函数DataSum,返回其参数data对象的成员变量m_data中所有元素的和。
int DataSum(CData &data);


...全文
672 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hell_wolf 2005-12-02
  • 打赏
  • 举报
回复
mark
SensiblesImon 2005-12-01
  • 打赏
  • 举报
回复
unknown
manplus 2005-12-01
  • 打赏
  • 举报
回复
mark
ilovedudu 2005-12-01
  • 打赏
  • 举报
回复
class CData
{
private:
int m_data[100];
public:
void Apply(CDataOperator &opt);
friend int DataSum(CData &data);  // 声明为友元函数
};

int DataSum(CData &data)
{
int nSum = 0;
for(int i = 0; i<100; i++)
{
nSum = nSum + data.m_data[i];
}
return nSum;
}

sankt 2005-12-01
  • 打赏
  • 举报
回复
1.B
2.C
shaobinge 2005-12-01
  • 打赏
  • 举报
回复
不懂。。。
poweryitian 2005-12-01
  • 打赏
  • 举报
回复
mark
note_code 2005-12-01
  • 打赏
  • 举报
回复
mark!!!!
SammyLan 2005-11-30
  • 打赏
  • 举报
回复
看错
是B (=_=)
SammyLan 2005-11-30
  • 打赏
  • 举报
回复
1是C (=_=)
fflush 2005-11-30
  • 打赏
  • 举报
回复
1.B
2.C maybe
3 已经有人做了
Mr_Yang 2005-11-30
  • 打赏
  • 举报
回复
mark
foochow 2005-11-30
  • 打赏
  • 举报
回复
那个公司的?
sankt 2005-11-30
  • 打赏
  • 举报
回复
up
今晚没有时间了
明天继续
cunsh 2005-11-30
  • 打赏
  • 举报
回复
class CDataSumOperator : public CDataOperator{
public :
int he;
CDataSumOperator(): he(0){}
void function(int data){
he += data;
}
};

int DataSum(CData &data)
{
CDataSumOperator temp;
data.Apply(temp);
return temp.he;
}

64,648

社区成员

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

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