考试网 >> IT认证 >> 水平 >> 程序员 >> 谈谈c++的初始化工作(下)

谈谈c++的初始化工作(下)

发布时间:2006-06-28 02:36     点击:
分页:上一页  1 [2] 3 4 5 6  下一页

//Human:error file

------ 已启动生成:项目:TestInit, 配置:Debug Win32 ------

正在编译...

Human.cpp

Human.cpp(5) : error C2758: “Human::name” : 必须在构造函数基/成员初始值设定项列表中初始化

e:NETSmall_codeTestInitHuman.h(13) : 参见“Human::name”的声明

Human.cpp(5) : error C2758: “Human::ID” : 必须在构造函数基/成员初始值设定项列表中初始化

e:NETSmall_codeTestInitHuman.h(14) : 参见“Human::ID”的声明

fmain.cpp

Date.cpp

正在生成代码...

生成日志保存在“file://e:NETSmall_codeTestInitDebugBuildLog.htm”中

TestInit - 2 错误,0 警告



---------------------- 完成 ---------------------

生成:0 已成功, 1 已失败, 0 已跳过

--------------------------------------------------------------------------------

*/

因为这里涉及的是仅仅的c++语法,我就不多费口舌了,如何改正,希望您能动手试试,一定要动手,不要想当然哦~~~

当然,如果您是爱问题的人,我想您可以这样深究一下:设计c++语言时,为什么诸如int类型成员变量能提供默认初始化,而它们却不能;从编译角度,刻意给它们提供如int类型般的初始化会有什么困难和问题?



下面详细谈什么是资源浅拷贝问题。沿袭c的习惯,c++对系统自分配的资源进行统一管理,但是,用户申请的资源,则有用户来释放。

比如:

userType *p=new userType(/*---*/);

//...

delete p;

//delete释放一般是不可忘的

单独的变量或许对您来说是不成问题的。但在类中,这些情况就变的相当复杂。处理不好,您的系统要么就是因为内存泄露而运行不下去,而要么就是异常频频发生。

我们先来看一些c++的默认操作:

//...

class OneClass {

int _value;

public:

OneClass(int _val=0):_value(_val) {}

~OneClass() {}

分页:上一页  1 [2] 3 4 5 6  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有