zoukankan      html  css  js  c++  java
  • 关于C++ const成员的一些细节

    1.const对象,只能调用const成员函数

    2.非const对象可以调用const成员函数和非const成员函数

      a.如果类同时具有const重载版本的成员函数和非重载版本,那么该类实例化的非const对象调用该成员函数的时候,会调用非重载版本。

      b.如果类只有const版本的成员,那么实例化的非const对象会调用const版本的成员

    实例如下:

    class A
    {
    public:
     A(){}
     ~A(){}
    void foo()
     {
      cout << "foo() of A" << endl;
     }
     void foo() const
     {
      cout << "const foo() of A" << endl;
     }
    };


    int main()
    {
    const A a;
     a.foo();
     A a1;
     a1.foo();

     return 0;
    }

    程序运行结果:

    const foo() of A

    foo() of A

    class A
    {
    public:
     A(){}
     ~A(){}
     void foo() const
     {
      cout << "const foo() of A" << endl;
     }
    };


    int main()
    {
     A a;
     a.foo();

     return 0;
    }

    运行结果:

    const foo() of A

  • 相关阅读:
    数论初步
    最大流
    vue + elemen 初始化项目--构建
    call, appply , bind
    动态引入全局组件
    少见好用的js API
    vue父子组件通讯
    vue优化相关---性能篇
    vue推荐文章
    webpack4.x系列--资源和样式解析
  • 原文地址:https://www.cnblogs.com/candycloud/p/3721681.html
Copyright © 2011-2022 走看看