欢迎来到天天文库
浏览记录
ID:39551137
大小:57.00 KB
页数:7页
时间:2019-07-06
《【构造函数】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载构造函数与其他方法的区别 1.构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带有返回值。 2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有
2、返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的. 3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的. 4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般的方法不存在这一特点 5当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没
3、有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。C++中的构造函数 C++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用.然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象. C++的构造函数定义格式为: class<类名> { public: <类名>(参数表) //..
4、.(还可以声明其它成员函数) }; <类名>::<函数名>(参数表) { //函数体 } 如以下定义是合法的: classT { public: T(inta=0){i=a;}//构造函数允许直接写在类定义内,也允许有参数表。 private:inti; }; 如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数: 1、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时; 2、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提供的默认
5、构造函数); 3、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数(可以是用户定义的构造函数,或编译器提供的默认构造函数)。 <类名>::<类名>(){},即不执行任何操作。各语言构造函数例子C++构造函数例子 //注意若将本代码直接复制进编译器,可能会报错,原因是网页生成时会在代码前加一个中文占位符 //最好将代码再写一次 #include usingnamespacestd; classtime { public: time(){}//constructor.
6、构造函数 { hour=0; minute=0; sec=0; } voidset_time(); voidshow_time(); private: inthour; intminute; intsec; }; intmain() { classtimet1; t1.show_time(); t1.set_time(); t1.show_time(); return0; } voidtime::set_time() { cin>>hour; cin>>minute
7、; cin>>sec; } voidtime::show_time() {cout<8、。这是PHP5中的变化;PHP4的版本中,构造函数的名称必须与类名相同。为了向下兼容,如果一个类中没有名为__construct()的方法,PHP将搜索一个与类名相同的方法。 格式:function__construct([参数]){......} 例子:
8、。这是PHP5中的变化;PHP4的版本中,构造函数的名称必须与类名相同。为了向下兼容,如果一个类中没有名为__construct()的方法,PHP将搜索一个与类名相同的方法。 格式:function__construct([参数]){......} 例子:
此文档下载收益归作者所有