捷通华声笔试和面试题.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1写出以下代码的输出结果。 class CClassA { public: int a; public: CClassA(); CClassA(int a=0) { cout”create CClassA”aendl; } ~CClassA() { cout”delete CClassA”endl; } } class CClassB:public CClassA { public: int b; public: CClassB(int ib):b=ib,a=ib { cout”create CClassB”bendl; } ~CClassB() { cout”delete CClassB”endl; } } main() { CClassA *pa=new CClassA; delete pa; } 提示:事实上原题我记不太清了,反正是考继承类与非继承类的构造与析构顺序:先构造父类,再构造子类,析构反过来。(有可能还考了多态,就是指针与new出来的可能不一样,记不太清了) 2上题main()函数第一句用new开辟了pa的内存,如果使用malloc分配,即pa=(CClassA*)malloc(sizeof(CClassA));会出现什么问题,为什么?并请说明new和malloc之间的区别。 提示:malloc不调构造函数,而new出来的是调构造函数的。 3 int i=10; int *pint1=new int(10); int *pint2=new int[10]; int aint[10]; 计算一下下面四个值: sizeof(i),sizeof(pint1),sizeof(pint2),sizeof(aint) 提示:4,4,4,40 4 实现一个整数的动态数组 //下面是代码,完成相应函数 const int ARRAT_GROWUP = 10; //数组结构体定义 struct ArrayStruct { int iCurMaxElementCount; //当前数组最大能容纳元素的个数 int iCurElementCount; //当前元素数 int *pHead; //指针头部 }; //功能:生成一个数组,参数为最初元素个数 //参数:int iStartElementCount 数组初始化大小 //返回:成功返回指针,否则返回NULL ArrayStruct *Array_Init(int iStartElementCount) { if(iStartElementCount = 0) return NULL; ArrayStruct *pReturn; pReturn=new ArrayStruct; if(pReturn == NULL) return NULL; pReturn-pHead = new int[iStartElementCount]; if(pReturn-pHead == NULL) { return NULL; } pReturn-iCurMaxElementCount = iStartElementCount; pReturn-iCurElementCount = 0; return pReturn; } //================完成下面的函数 //功能:向数组添加一个元素,如果元素超过上述Array_Init函数的iStartElementCount参数时,请考虑如何适应。可以假定一次增加ARRAY_GROWUP个元素容量,但是要保证在内存中数据为线性存放(也就是说连续的,像数组一样,而不是链表) //参数:ArrayStruct *pArray 要处理的数组结构体指针 // const int iAppendElement 要增加的元素 //返回:成功时返回true,失败时返回false(10分) bool Array_AddElement(ArrayStruct *pArray const int iAppendElement) { } //功能:删除指定索引的元素,要保证元素在内存为线性不间隔存放 //参数:ArrayStruct *pArray 要处理的数组结构体指针 // const int iRemovedIndex 要删除的元素索引 //返回:成功时返回true,失败时返回false(10分) bool Array_RemoveElement(ArrayStruct *pArray,const int iRemovedIndex) { } //功能:返回指定索引的元素 //参数:const ArrayStruct *pArray 要处理的数

文档评论(0)

+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档