【C++】类与对象(中)_7.const成员函数

7.const成员

7.1 const修饰类的成员函数

将const修饰的类成员函数称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。

我们来看看下面的代码

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
class Date
{
public:
	void Display()
	{
		cout << "Display ()" << endl;
		cout << "year:" << _year << endl;
		cout << "month" << _month << endl;
		cout << "dat" << _day << endl;
	}
	void Display() const
	{
		cout << "Display () const" << endl;
		cout << "year:" << _year << endl;
		cout << "month:" << _month << endl;
		cout << "dat:" << _day << endl << endl;
	}
private:
	int _year; //年
	int _month;//月
	int _day;  //天
};

void Test()
{
	Date d1;
	d1.Display();

	const Date d2;
	d2.Display();
}

请思考下面的几个问题:

  1. const对象可以调用非const成员函数吗?
  2. 非const对象可以调用const成员函数吗?
  3. const成员函数内可以调用其它的非const成员函数吗?
  4. 非const成员函数内可以调用其它的const成员函数吗?
相关推荐
IMPYLH9 分钟前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua
普通网友11 分钟前
Objective-C 类的方法重载与重写:区别与正确使用场景
开发语言·ios·objective-c
喵了meme19 分钟前
C语言实战6
c语言·开发语言
AAA阿giao22 分钟前
从“操纵绳子“到“指挥木偶“:Vue3 Composition API 如何彻底改变前端开发范式
开发语言·前端·javascript·vue.js·前端框架·vue3·compositionapi
小裴(碎碎念版)24 分钟前
文件读写常用操作
开发语言·爬虫·python
sheji341641 分钟前
【开题答辩全过程】以 基于Java的应急安全学习平台的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
WolfGang00732142 分钟前
代码随想录算法训练营Day48 | 108.冗余连接、109.冗余连接II
数据结构·c++·算法
winfield82143 分钟前
MCP 协议详解
开发语言·网络·qt
cheems95271 小时前
锁策略的介绍
java·开发语言