16、不一样的C++系列--const对象与类成员的知识点
来源:互联网 发布:windows10软件下载 编辑:程序博客网 时间:2024/06/06 19:07
const对象
- const关键字能够修饰对象
- const修饰的对象为只读对象
- 只读对象的成员变量不允许被改变
- 只读对象是编译阶段的概念,运行时无效
C++中的const成员函数
- const对象只能调用const的成员函数
- const成员函数中只能调用const成员函数
- const成员函数中不能直接改写成员变量的值
const成员函数的定义:
- Type ClassName::function(Type p) const
- 类中的函数声明与实际函数定义中都必须带const关键字
#include <stdio.h>class Test{ int mi; int mn;public: int mj; Test(int i); Test(const Test& t); int getMi(); int Test::getMn()const;};Test::Test(int i){ mi = i; mn = i;}Test::Test(const Test& t){}int Test::getMi(){ return mi;}int Test::getMn()const{ //这里会报错。因为不可以修改成员变量 mn = 2; return mn;}int main(){ //定义只读对象 const Test t(1); //这里肯定报错,因为是只读对象 t.mj = 0; //这里也会报错,因为const对象只能调用const成员函数 printf("t.getMi() = %d", t.getMi()); //这里不会报错,因为const对象可以调用const成员函数 printf("t.getMi() = %d", t.getMn()); return 0;}
类成员
- 从面向对象的角度
- 对象由属性(成员变量)和方法(成员函数)构成
- 从程序运行的角度
- 对象由数据和函数构成
- 数据可以位于栈、堆和全局数据区
- 函数只能位于代码段
- 结论
- 每一个对象拥有自己独立的属性(成员变量)
- 所有的对象共享类的方法(成员函数)
- 方法能够直接访问对象的属性
- 方法中的隐藏参数 this 用于指代当前对象
阅读全文
0 0
- 16、不一样的C++系列--const对象与类成员的知识点
- const static与类的数据成员,成员函数,对象
- 17、不一样的C++系列--静态成员
- 浅析类的const成员函数,类的const对象
- C++中 const对象和非const对象与const成员的关系
- C++中类的const成员函数和const对象
- C++的const类成员函数(解释为什么非const成员函数不能访问const对象的数据成员)
- 8、不一样的C++系列--面向对象
- 14、不一样的C++系列--对象销毁
- (2)const对象和对象的const成员
- 不一样的C语言-const修饰的变量
- 9、不一样的C++系列--类与封装
- 33、不一样的C++系列--类模板与特化
- 不一样的C++系列--类模板与特化
- C++ const 修饰的对象成员
- 【C++】const对象和const成员
- C++中不一样的const
- const成员函数和const对象的调用关系
- 14. Longest Common Prefix
- 使用python实现深度神经网络 2
- apt-get update 出现错误
- 图——拓扑排序(Graph
- 使用python实现深度神经网络 3
- 16、不一样的C++系列--const对象与类成员的知识点
- windows下svn的使用
- 英语单词(1)
- 我的博客即将入驻"云栖社区",撑腰技术同行一同入驻
- LeetCode【576】 Out of Boundary Paths
- 第一章:设备驱动程序
- 使用python实现深度神经网络 4
- 操作系统-常见面试题总结
- 第二章:构造和运行模块