美文网首页
C++ 构造过程

C++ 构造过程

作者: chenkangcrack | 来源:发表于2018-02-22 14:22 被阅读4次

    构造函数

    C++中每个类必须有一个构造函数,如果用户没有自行编写构造函数,则C++会自动提供一个无参数的构造函数,如果用户编写了构造函数,则默认的构造函数会自动消失

    C++中的构造函数应该是一个公有的成员函数,并且构造函数没有返回类型;

    若对构造函数进行重载,更改了默认的参数的个数,则按照排序原则,自定义的参数排在默认的参数后面,比如说

    Class A中的默认的构造函数是A(int a=10,int b=10,int c=10);

    若对默认构造函数进行重载,A(int d),则类的前两个成员变量还是等于10,第三个成员被初始化为d了。具体代码实现请参看构造函数重载

    初始化

    假想类A 中的数据成员含有类B,对类A初始化时类B是调用默认的构造函数,如何在类A初始化的同时也让B按照用户自定义的方式初始化?

    这里就要搬来构造函数的调用表,该调用表可以省略类型声明,但却行创建对象之值。

    class StudentID{

    int value;

    }

    public:

    StudentID(int id=0){

    value=id;

    }

    };

    class Student{

    string name;

    StudentID id;

    public:
    Student( string name="no name",int ssID=0):id(ssID){

    ...

    };

    相关文章

      网友评论

          本文标题:C++ 构造过程

          本文链接:https://www.haomeiwen.com/subject/dfbncttx.html