zoukankan      html  css  js  c++  java
  • 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变量;打破类的封装性
  • 相关阅读:
    MP教程-入门
    [15213] Assembly
    Crack the code interview
    [interview questions] 资料总结
    [Two Sigma OA] Longest Chain
    [Tow Sigma OA] friend cycles
    [security]
    [security] GNUpg
    [coursera] 面试前准备
    [coursera] [design] Hangman
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/6480917.html
Copyright © 2011-2022 走看看