C++ 中const对象与const成员函数的实例详解

 更新时间:2017年08月28日 16:45:12   投稿:lqh  
这篇文章主要介绍了C++ 中const对象与const成员函数的实例详解的相关资料,希望通过本文能让大家彻底掌握该如何使用,需要的朋友可以参考下

C++ 中const对象与const成员函数的实例详解

const对象只能调用const成员函数:

#include<iostream> 
using namespace std; 
class A  
{  
public:  
  void fun()const 
  { 
    cout<<"const 成员函数!"<<endl; 
    } 
  void fun() 
  { 
    cout<<"非const成员函数 !"<<endl; 
  } 
};  
int main() 
{ 
  const A a; 
  a.fun(); 
} 

输出:const 成员函数!

但是如果把第以1个fun注释掉就会出错:error C2662: “A::fun”: 不能将“this”指针从“const A”转换为“A &”。

但是const成员函数可以被非const 对象调用:

#include<iostream> 
using namespace std; 
class A  
{  
public:  
  void fun()const 
  { 
    cout<<"const 成员函数!"<<endl; 
    }   
 
/* void fun() 
  { 
    cout<<"非const成员函数 !"<<endl; 
  } 
  */ 
};  
int main() 
{ 
   A a; 
  a.fun(); 
} 

该段代码输出:const 成员函数!

当然非const对象可以调用非const成员函数。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 在C++中把字符串转换为整数的两种简单方法

    在C++中把字符串转换为整数的两种简单方法

    经常会遇到类型转换,本文主要介绍了C++中把字符串转换为整数的两种简单方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • QT QML的元素布局的实现

    QT QML的元素布局的实现

    这篇文章主要介绍了QT QML的元素布局的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 基于C++ bitset常用函数及运算符(详解)

    基于C++ bitset常用函数及运算符(详解)

    下面小编就为大家带来一篇基于C++ bitset常用函数及运算符(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • C++11中std::future的具体使用方法

    C++11中std::future的具体使用方法

    这篇文章主要介绍了C++11中std::future的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • C++连接mysql数据库并读取数据的具体步骤

    C++连接mysql数据库并读取数据的具体步骤

    在实际开发中我们经常需要对数据库进行访问,针对不同类型的数据库(如MySQL、sqLite、Access、Excel等),如果采用不同的方法进行连接,会把我们搞崩溃,下面这篇文章主要给大家介绍了关于C++连接mysql数据库并读取数据的具体步骤,需要的朋友可以参考下
    2023-04-04
  • 浅析C++元组tuple类型

    浅析C++元组tuple类型

    元组tuple是C++的一个模板,不同tuple类型的成员类型也不相同,但是一个tuple可以有任意数量的成员,今天通过本文给大家介绍C++元组tuple类型,感兴趣的朋友一起看看吧
    2022-06-06
  • C语言实现自动存取款机模拟系统

    C语言实现自动存取款机模拟系统

    这篇文章主要为大家详细介绍了C语言实现自动存取款机模拟系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++11中delete和default的用法详解

    C++11中delete和default的用法详解

    这篇文章主要为大家详细介绍了C++11中delete和default的具体用法,文中的示例代码简洁易懂,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2023-08-08
  • C++基于消息队列的多线程实现示例代码

    C++基于消息队列的多线程实现示例代码

    这篇文章主要给大家介绍了关于C++基于消息队列的多线程实现的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • C++ LeetCode1812判断国际象棋棋盘格子颜色

    C++ LeetCode1812判断国际象棋棋盘格子颜色

    这篇文章主要为大家介绍了C++ LeetCode1812判断国际象棋棋盘格子颜色, 有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论