构造函数
来自华夏文化百科
简介
如果类中某个成员函数的名称与类名称相同,我们称这个函数是构造函数。构造函数不能有返回值,甚至不能有return语句。简单地说,构造函数是这样一种函数,当一个对象被建立时,程序就会自动调用这个类的构造函数为这个对象进行初始化。C++Builder允许定义多个使用不同参数列表的构造函数。这里有两种特殊的构造函数,默认构造函数和复制构造函数。默认构造函数不带任何类型的参数,而复制构造函数带有一个参数,该参数的类型为一个对相同类的实例对象的引用。
与其他方法的区别
1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点
例子
- include iostream using namespace std; class time { public: time() //constructor.构造函数 { hour=0; minute=0; sec=0; } void set_time(); void show_time(); private: int hour; int minute; int sec; }; int main() { time t1; t1.set_time(); t1.show_time(); time t2; // t2.set_time(); t2.show_time(); return 0; } void time::set_time() { cin hour; cin minute; cin sec; } void time::show_time() { couthour":"minute":"secendl; } 程序运行情况: 10 11 11 回车 10:11:11 0:0:0任何时候,只要创建类或结构,就会调用它的构造函数。类或结构可能有多个接受不同参数的构造函数。构造函数使得程序员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。
相关词条
| 析构函数 | C++ | 面向对象 |
| 重载 | 继承 | 异常处理 |
参考资料
[1] http://www.baidu.com[2] 《C++程序设计教程》钱能编著 清华大学出版社出版