zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [UE4]创建对象的的几种姿势(C++)
    [UE4]IES光源概述文件
    [UE4]C++ STL总结
    [UE4]C++中引用(&)的用法和应用实例
    [UE4]单映射:TMap容器,字典表
    [UE4]集合:TSet容器
    [UE4]动态数组:TArray容器
    [UE4] 虚幻4学习---UE4中的字符串转换
    [UE4]使用PlayerController获取鼠标点击时的坐标
    [UE4]C 语言动态数组
  • 原文地址:https://www.cnblogs.com/txwtech/p/12197840.html
Copyright © 2011-2022 走看看