• cc31a_demoCppPrimer_静态成员与继承在派生类中访问基类中的static成员的方法


    //*基类中的static成员,在整个继承层次中只有一个实例

    //*在派生类中访问基类中的static成员的方法

    //1.基类名::成员名

    //2.子类名::成员名

    //3.对象.成员名

    //4.指针->成员名

    //5.成员名

     1 #include <iostream>//txwtech-CppPrimer_静态成员与继承cc31a_demo
     2 using namespace std;
     3 //*基类中的static成员,在整个继承层次中只有一个实例
     4 //*在派生类中访问基类中的static成员的方法
     5 //1.基类名::成员名
     6 //2.子类名::成员名
     7 //3.对象.成员名
     8 //4.指针->成员名
     9 //5.成员名
    10 
    11 class A
    12 {
    13 public :
    14     static std::size_t object_count() //静态成员函数
    15     {
    16         return 100;
    17     }
    18 protected:
    19     static const std::size_t obj_count=99;//静态成员变量
    20 };
    21 //A::obj_count = 99;
    22 class B :public A
    23 {
    24 public:
    25     //void f(const B &b)
    26     void f(const B &b,B *b2)
    27     {
    28         //A::obj_count = 99;
    29         cout << A::obj_count << endl;//基类名::成员名
    30         cout << B::obj_count << endl;//子类名::成员名
    31         cout << b.obj_count << endl;//对象
    32         cout << b2->obj_count << endl;//指针
    33         cout << obj_count << endl;//成员名
    34 
    35         cout << A::object_count() << endl;
    36         cout << B::object_count() << endl;
    37         cout << b.object_count() << endl;
    38         cout << b2->object_count() << endl;
    39         cout << object_count() << endl;
    40     }
    41 
    42 };
    43 class C :public B
    44 {
    45 
    46 };
    47 
    48 int main()
    49 {
    50     //A::obj_count = 99;
    51     B b;
    52     b.f(b,&b);
    53     getchar();
    54     return 0;
    55 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    蓝桥杯-带分数
    蓝桥杯-分红酒
    蓝桥杯-猜算式
    hdu2045不容易系列之(3)—— LELE的RPG难题
    蓝桥杯-奇怪的比赛
    linux应用之perl环境的安装(centos)
    linux应用之php开发环境lamp搭建(centos)
    linux应用之yum命令详解
    linux应用之用户管理相关命令
    linux应用之mysql数据库指定版本的yum安装(centos)
  • 原文地址:https://www.cnblogs.com/txwtech/p/12197840.html
Copyright © 2020-2023  润新知