【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成员函数吗?
相关推荐
啃火龙果的兔子5 分钟前
Kotlin 修改安装到桌面后的应用图标
开发语言·kotlin·harmonyos
来来走走6 分钟前
Android开发(Kotlin) ViewModel基本用法
android·开发语言·kotlin
Caarlossss15 分钟前
jdbc学习
java·开发语言·学习·http·tomcat·maven
AA陈超20 分钟前
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
c++·笔记·学习·ue5·lyra
lsx20240623 分钟前
Bootstrap 标签详解
开发语言
FL162386312940 分钟前
Qt自定义控件之仪表盘和水波纹圆形进度条的完整实现
开发语言·qt
缺点内向1 小时前
Java: 在 Excel 中插入、提取或删除文本框
java·开发语言·excel
xlq223221 小时前
16.17.list(上)
c++·list
星释1 小时前
Rust 练习册 60:鲍勃与字符串处理的状态机思维
开发语言·网络·rust
淡淡蓝蓝2 小时前
uni.uploadFile使用PUT方法上传图片
开发语言·前端·javascript