学习c++中的小问题总结

1.类中的函数定义后加了一个const代表什么?

代表它将具备以下三个性质:

  1.const对象只能调用const成员函数。
   2.const对象的值不能被修改,在const成员函数中修改const对象数据成员的值是语法错误
  3.在const函数中调用非const成员函数是语法错误


  任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。
  所以看完上面这句话就应该明白了函数定义后加const的用处,以及什么时候用到const,这会是一个好的编程习惯的。

以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。编译器将指出GetCount函数中的错误。
class Stack
{
  public:
void  Push(int elem);
int  Pop(void);
int GetCount(void)  const; // const成员函数
  private:
int m_num;
int m_data[10];
};

int Stack::GetCount(void)  const
{
++ m_num; // 编译错误,企图修改数据成员m_num
Pop(); // 编译错误,企图调用非const函数
return m_num;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 转-------CNN图像相似度匹配 2-channel network

    徐飞机
  • 一、c++中经常被面试官面试的小问题总结(本篇偏向基础知识)

    原文链接:https://www.cnblogs.com/DOMLX/p/10711810.html

    徐飞机
  • c++ 网络编程(四)TCP/IP LINUX/windows下 socket 基于I/O复用的服务器端代码 解决多进程服务端创建进程资源浪费问题

    原文链接:https://www.cnblogs.com/DOMLX/p/9613861.html

    徐飞机
  • C++雾中风景3:const用法的小结

    const关键字,翻译成中文是常量,常数的意思。所以在绝大多数场合之中,const是来定义常量的,定义常量也是好的编程习惯。在C类语言之中,定义常量通常会使用宏...

    HappenLee
  • QMap容器小知识

    Qt君
  • const特性总结(不断更新)

    作者:bakari  时间:2012.6.5 1、指向const对象的指针---const int *cptr; i、在此,cptr是指向int类型的const...

    CloudDeveloper
  • 初级程序员面试不靠谱指南(二)

    3.read-only的const。如果你突然冒出一句看似很高深的话但又不解释一般都是装逼,就像前面提到过const准确的应该理解为一个read-only的变量...

    一心一怿
  • C++中const小结

    1、const修饰普通变量(非指针变量) const修饰变量,一般有两种写法: const TYPE value; TYPE const value; 对于一个...

    用户1215536
  • 手把手教你开发人工智能微信小程序(4): 训练手写数字识别模型

    在上篇文章《手把手教你开发人工智能微信小程序(3):加载数据》中,我给大家演示了如何通过fetch加载网络数据并进行数据归范化,出于演示的目的,例子做了简化处理...

    云水木石
  • const关键字总结

    被const修饰的变量是不能改变的 const修饰变量时,必须在声明变量的同时给出初始化(类中的const成员变量不一样)

    WindSun

扫码关注云+社区

领取腾讯云代金券