zoukankan      html  css  js  c++  java
  • C++构造函数

    普通变量可以使用赋值号(=)赋值,但是由于类的数据成员众多,所以使用构造函数用于构造对象。

    构造函数也是类的成员函数,除了有成员函数的所有特征外,还有一些不同之处:构造函数的函数名跟类名一样,而且没有返回值。构造函数一般被声明为公有函数,除非我们不允许某个类生成对象则将它声明为private或protected属性。编译器碰到对象声明语句时,会自动生成对构造函数的调用语句,所以我们常说构造函数是在对象声明时由系统自动调用的。

    构造函数为成员变量赋值的方式有两种:1.初始化列表 2.在函数体内赋值

    在对一般变量初始化时,两种方式并没有太大区别。但是当类的成员变量是另一个类时(嵌套类),只能使用初始化列表初始化。

    //例子
    class A
    {
     A(A em){};//A的拷贝构造函数
    };
    
    class B()
    {
      B(A elem);
    }
    
    B::B(A el):A(el)//由el传给em
    {
    ...
    }

    PS:拷贝构造函数,拷贝构造函数相当于人工设定,类对象的赋值方式。使对象与对象之间的互相赋值可控。

    A test;
    
    //....
    
    A a = A(test);
  • 相关阅读:
    JUnit手记
    Guava手记
    深表浅表拷贝
    异常问题仓库
    记录一次“记录超长”
    高二数学微课堂[教学视频]
    高一数学微课堂[教学视频]
    用导数研究函数的性质
    均值不等式的常见使用技巧
    一元二次方程根的分布
  • 原文地址:https://www.cnblogs.com/CAION/p/2838916.html
Copyright © 2011-2022 走看看