• 发生拷贝构造的情况:
    Person  lady_a("alice");  //创建一个对象lady_a
    
    Person lady_b = lady_a; // 发生拷贝构造
    Person  lady_c (lady_a);   //发生拷贝构造

     

  • 类的静态成员变量只是声明,必须还要再定义一下才行。否则链接器找不到静态变量在哪里,也就无法操作他。
    class A
    {
        public :
           A(){}
           ~A(){}
           static  int x;
           void  set(par){x = par;}
           void  get(){cout << x << endl;}
    }
    
     int A::x;  //在类中的只是声明,还没有分配内存,需要加上这行定义去分配内存。然后才能使用。在这条语句给静态成员变量赋值也是可以的
    
    void main()
    {
         A a;
         a.set(10);
         a.get();
    }

    initialization  list  只能对非静态成员变量初始化。