【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成员函数吗?
相关推荐
霖00几秒前
ZYNQ——ultra scale+ IP 核详解与配置
服务器·开发语言·网络·笔记·网络协议·tcp/ip
flypwn11 分钟前
justCTF 2025JSpositive_player知识
开发语言·javascript·原型模式
oliveira-time15 分钟前
原型模式中的深浅拷贝
java·开发语言·原型模式
2501_9411114618 分钟前
C++中的原型模式
开发语言·c++·算法
亿坊电商43 分钟前
PHP框架的资源管理机制如何优雅适配后台任务?
开发语言·php
VBA63371 小时前
YZ系列工具之YZ09: VBA_Excel之读心术
开发语言
慢慢向上的蜗牛1 小时前
微软vcpkg包管理工具如何使用?
c++·microsoft·vcpkg·跨平台编译
pro_or_check1 小时前
自然语言编程:从一段Perl程序说起
开发语言
wangjialelele1 小时前
详解mysql命令行操作与语言链接
c语言·数据库·c++·mysql·oracle
ᐇ9591 小时前
Java集合框架实战:HashMap与HashSet的妙用
java·开发语言