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
  • 相关阅读:
    【注册验证】 控制器(添加数据+后台验证)
    AJAX 简介
    我的博客生涯
    windows xp sp3 下载地址
    get、set、add、remove → (字段、属性)+(委托、事件)
    ArcObjects整体介绍
    委托
    对字符串的处理的又一个强大的工具,正则表达式
    对象序列化存在的原因
    关于文件操作的几个类
  • 原文地址:https://www.cnblogs.com/txwtech/p/12197840.html
Copyright © 2011-2022 走看看