继承中的static关键字

    xiaoxiao2023-11-08  168

    1、基类定义的静态成员,将被所有派生类共享

    2、根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 (遵守派生类的访问控制)

     3、派生类中访问静态成员,用以下形式显式说明:

    类名 :: 成员 或通过对象访问 对象名 . 成员

    class A { public: //3.A类中添加构造函数 //A类的构造函数中 A的构造函数变成私有的时候 //被别的类继承要小心 A(){b = 0;} ~A(){} public: static int a; private: int b; }; int A::a = 10;// class B:private A { public: B() { c = 0; a++;//2.不是简单的变量赋值 更重要的是 要告诉c++编译器 你要给我分配内存 我在继承中用到静态变量,不然会报错 } void Print() { cout<<a<<endl; } ~B(){} private: int c; }; ///main { A a1; B b1; //b1.a = 20;//1.static关键字 遵守 派生类的访问控制规则 a1.a++; //b1.A::a++;//遵从访问控制 b1.Print(); }

     

    最新回复(0)