构造函数

来自华夏文化百科
跳转至: 导航、 搜索

简介

如果类中某个成员函数的名称与类名称相同,我们称这个函数是构造函数。构造函数不能有返回值,甚至不能有return语句。简单地说,构造函数是这样一种函数,当一个对象被建立时,程序就会自动调用这个类的构造函数为这个对象进行初始化。C++Builder允许定义多个使用不同参数列表的构造函数。这里有两种特殊的构造函数,默认构造函数和复制构造函数。默认构造函数不带任何类型的参数,而复制构造函数带有一个参数,该参数的类型为一个对相同类的实例对象的引用。 


与其他方法的区别

1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点




例子

  1. 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++程序设计教程》钱能编著 清华大学出版社出版