【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成员函数吗?
相关推荐
林浔09061 分钟前
QT信号槽
开发语言·qt
重生之绝世牛码5 分钟前
Java设计模式 —— 【结构型模式】享元模式(Flyweight Pattern) 详解
java·大数据·开发语言·设计模式·享元模式·设计原则
Allen Bright19 分钟前
【Java基础-26.1】Java中的方法重载与方法重写:区别与使用场景
java·开发语言
秀儿y23 分钟前
单机服务和微服务
java·开发语言·微服务·云原生·架构
ybq1951334543124 分钟前
javaEE-多线程案例-单例模式
java·开发语言
code monkey.29 分钟前
【排序算法】—— 计数排序
c++·算法·排序算法
云青山水林31 分钟前
2024.12.21 周六
c++·算法·贪心算法
kiiila35 分钟前
【Qt】编辑框/按钮控件---实现HelloWorld
开发语言·qt
Dcy_ASK38 分钟前
认识Python语言
开发语言·python
Moweiii1 小时前
SDL3 GPU编程探索
c++·游戏引擎·图形渲染·sdl·vulkan