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

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

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

  c++博大精深,这是很多了解c++的人的感觉。越是深入,越是觉得她会给你很好的训练---让你成为真正的程序设计者。

  我想从她的初始化工作着手,试图展现其一角,希望能有助于您提高学c++和程序设计的兴趣---然后,去发现、开拓吧,当你把你的智慧融入进去以后,一行行程序就不仅是程序了,因为它就有了生命。

  关于c中的初始化相关部分,如指针,如全局变量与局部变量默认初始化的区别,如静态变量的默认初始化,就跳过。我们从类开始。

  初始化是非常重要的工作,因为你的类(确切说是对象,程序)的执行过程就是一系列状态变换,而初态不正确,就不可能到达正确解了。

  面向对象的c++中的初始化工作,是由构造函数来完成的,在其他场景可能称为构造器。这是大家都明白的。但是,展开来,或许您还未必清楚,如,如何设计好的默认初始化,哪些成员变量只有唯一的初始化形式,组合与继承的初始化,资源浅拷贝问题,无名对象的问题,特殊需要的初始化(实例对象须唯一化)等等。我将在vc7.0上调试程序,每次调试一个,谈一个问题,试图给您解释清楚。愿于您有所帮助。

这次就说说好的初始化过程与静态成员的初始化。

  不管程序员如何,面向对象的c++中初始化工作是必须的!!你写了一个类,没有写构造函数,但是,系统会“暗暗的”给你一个系统默认的构造函数,在实例化对象的时候它就会工作---要知道,一旦你自己定义了构造函数,系统就不会再提供默认构造函数。

  问题是,我们应该定义自己的构造函数。否则,系统多半是无法达到正确的初始状态的!

定义好的构造函数,应该是给出多版本的构造函数,作好安全检查工作。我们下面给出一个例子,由c++缔造者的例子改动迩来。

  需要一个类,日期Date,它有成员变量day,month,year,执行一些相关操作。如何进行初始化工作?我们或许会见到下面的代码:

//...

class Date {

int d,m,y;

public:

Date(int dd=0,int mm=0,int yy=0)

{

d=dd;

m=mm;

y=yy;

}

//...

};

//...

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