C++重载中括号[]运算符示例1

h文件;

cpp 复制代码
class ZZC  
{
public:
	ZZC();
	virtual ~ZZC();

	int& operator[] (int i);    //重载"[]"操作符

private:
    int myarr[6];

};

Cpp文件;

cpp 复制代码
ZZC::ZZC()
{
    int i;

    for (i = 0; i < 6; i++)
    {
        myarr[i] = i + 9;
    }
}

ZZC::~ZZC()
{

}

int& ZZC::operator[] (int i)    //返回引用,这样才可以对返回值赋值
{
    return myarr[i];
}

调用和输出;

cpp 复制代码
void CZkhView::OnDraw(CDC* pDC)
{
	CZkhDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	CString str1;

	ZZC zc1;
	str1.Format("%d", zc1[1]);
    pDC->TextOut(20, 20, str1);

	zc1[4]=160;
	str1.Format("%d", zc1[4]);
    pDC->TextOut(20, 50, str1);	
}

从这简单例子看只是提供了写法上的一些方便;

有时间继续;

相关推荐
沐知全栈开发6 分钟前
Servlet 表单数据处理指南
开发语言
超梦dasgg7 分钟前
详细讲解:WebMvcConfigurer 接口
java·开发语言·spring
咩咦9 分钟前
C++学习笔记23:const 成员函数
c++·学习笔记·类和对象·const·this指针·const成员函数
阿里嘎多学长17 分钟前
2026-05-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
JAVA社区17 分钟前
Java进阶全套教程(三)—— Spring框架核心精讲
java·开发语言·spring·面试·职场和发展·mybatis
jzlhll12330 分钟前
Kotlin 协程高级用法之 NonCancellable
android·开发语言·kotlin
我是唐青枫43 分钟前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
开发语言·c#·.net
芯芯点灯1 小时前
gd32f303烧录提示Flash Timeout. Reset the Target and try it again.;
开发语言·前端·javascript
枫叶丹41 小时前
【HarmonyOS 6.0】Enterprise Space Kit:空间管理服务深入解析
开发语言·华为·harmonyos