初始化列表

    class Person{
    public:
    
    	int a;
    	int b;
    	int c;
    
    //1.
    	Person():a(10),b(20),c(30)
    	{
    	
    	}
        
    //2.
    	Person(int A,int B,int C):a(A),b(B),c(C)
        {
        
        }
    }
    

类对象作为类成员

先构造类对象,再构造本类

静态成员

定义:在成员变量和成员函数前加上static关键字

静态成员变量:

  • 所有对象共享同一份数据
  • 在编译阶段分配内存
  • 类内声明,类外初始化

静态成员函数:

  • 所有对象共享同一个函数

  • 静态成员函数只能访问静态成员变量

    Person(){
    public:
    	static int A;
        int B;
        
        static void func(){
        	A=100;
            B=100;//报错
        }
        
    private: 
    	static void func2(){}//类外访问不到
    }
    
    int Person::A=0;//类外初始化
    
    //静态成员函数的调用方式:
    //1. 通过对象访问
    Person p;
    p.func();
    
    //2. 通过类名访问
    Person::func();