C++构造函数,析构函数和复制构造函数



  • 1.构造函数:类中数据类型是private或者protect 不能在定义时候进行初始化方法,public 数据类型在初始时候能够进行初始化
  • 构造函数在建立对象时候会自动执行,构造函数必须与类名称一样;同样在类中声明,在 类外用Time::Time()方式定义
  • 同样构造函数可以重载类似于Java一样

  • 析构函数:与构造函数相反的,C++中~符号,撤销被占用的内存前进行一些处理


  • C++共享数据进行保护 const 关键字,既能在一定范围内共用,不能不被其他数据修改类似于Java中final

  • 如果一个对象声明常对象,不能调用其中非const型成员函数
  • const Time t1(10,15,36)

  • 复制构造函数:类对象中内部结构较为复杂,还有各种成员变量

  1. 相同类型的类对象通过 拷贝构造函数完成类
  2. 形式:X::X(const X&c) 函数名称与类的名称一样:他的参数是本类型的一个引用变量
  3. 一般拷贝构造函数是浅拷贝只能处理静态的变量函数,对于动态变量函数,在拷贝构造函数中 new开辟新的地址,进行深拷贝
  4. http://blog.csdn.net/lwbeyond/article/details/6202256/
  5.  1 /*对拷贝构造函数理解*/
     2 #include<iostream>
     3 class Example{
     4 private :
     5     int a;
     6 
     7 public :
     8         Example (int b)
     9         {
    10             a=b;
    11         }
    12         /*拷贝构造函数*/
    13         Example(const Example& c)
    14         {
    15             a=c.a;
    16 
    17         }
    18 
    19         void show()
    20         {
    21             std::cout<<a<<std::endl;
    22 
    23 
    24         }
    25 };
    26 
    27 int main()
    28 {
    29     Example A(100);
    30     Example B=A;
    31     B.show();
    32     return 0;
    33 }
  6. 1.friend 友元函数:让类外访问类中private变量;打破类的封装性
原文地址:https://www.cnblogs.com/woainifanfan/p/6480917.html