c++构造函数

来源:互联网 发布:软件危机 编辑:程序博客网 时间:2024/06/06 13:14

关于构造函数的一些总结:

1:构造函数不需要用户自己去调用,而是会在创建类的实例的时候自动调用。(构造不能声明为私有的成员函数,如果构造函数被设为私有的成员函数,那么在创建类的实例的时候,在自动调用构造函数的过程中,因为构造函数已经被声明为私有的了,而私有的成员是不能再类外被访问的,就造成实例化对象失败)

2:构造函数的函数名必须与类名同名,且构造函数没有返回值;

3:构造函数也是函数,用户也可以根据自己的需要去定义构造函数的函数体。(在实际的使用过程中一般会用来初始化数据成员)

4:如果用户没有自定义构造函数,那么系统会自动提供一个默认构造函数,但是它的函数体是空的,不能起到初始化的作用;

5:构造函数也是函数,也可以进行重载.(1,参数个数不同;2:参数数据类型不同)

6:使用默认参数的构造函数,其中给定默认值的顺序应该是:在参数列表中从后往前给定默认值,并且中间不能有空缺,如果是从前往后指定默认值,就会产生参数传递过程的二义性;

7:使用初始化列表对数据成员进行初始化;其具体写法为:在函数头和函数体之间用冒号(:)引出来。

以一个例子来具体说明:

#include<iostream>using namespace std;class People //类名最好以大写字母开头命名{public:People(int h, int w=100):heigh(h), weigth(w){} //构造函数被声明为公有的成员函数,采用初始化列表对数据成员进行初始化                                               //给定默认值的时候,要从参数列表的后面往前面给定默认值private:                                           int heigh;int weigth;};int main(){People p(100,50);}


 

0 0