1
ew、delete、malloc、free关系delete会调用对象的析构函数和
ew对应。free只会释放内存,
ew调用构造函数。malloc与free是CC语言的
标准库函数,
ewdelete是C的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用malocfree无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于mallocfree是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于mallocfree。因此C语言需要一个能完成动态内存分配和初始化工作的运算符
ew,以及一个能完成清理与释放内存工作的运算符delete。注意
ewdelete不是库函数。
2C有哪些性质(面向对象特点)封装,继承和多态。在面向对象程序设计语言中,封装是利用可重用成分
构造软件系统的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;消息传递可以实现发送一个通用的消息而调用不同的方法;封装是实现信息隐蔽的一种技术,其目的是使类的定义和实现分离。
3求下面函数的返回值i
tfu
cx
i
tcou
tx0whilex
cou
txxxx1retur
cou
tx假定x9999。答案:8思路:将x转化为2进制,看含有的1的个数。
4什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”alias,对应用的操作与对变量直接操
作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。
5在什么时候需要使用“常引用”?如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数
中被改变,就应使用常引用。常引用声明方式:co
st类型标识符引用名目标变量名;
f例1i
taco
sti
traara1错误a1正确例2stri
gfoovoidbarstri
gs那么下面的表达式将是非法的:barfoobar