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);	
}

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

有时间继续;

相关推荐
尘中远13 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent
2401_8685347813 小时前
网规备考_2.4 路由协议
c++·设计模式
啦啦啦啦啦zzzz14 小时前
自定义日志缓冲区(上)c++20
linux·服务器·c++·网络编程
wabs66614 小时前
关于二叉树【力扣199.二叉树的右视图的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
三84414 小时前
redis三大机制:配置、持久化、主从复制(getshell 原理地基)
开发语言·php
hope_wisdom14 小时前
C/C++数据结构之二叉树的遍历
c语言·数据结构·c++·二叉树·深度优先·广度优先
万年咸鱼14 小时前
Java PrintStream 详解:从基础用法到实战技巧
java·开发语言·python
guwentian14 小时前
手撕 MCP:用 TypeScript 从零写一个能跑的最小客户端(附可运行 demo)
开发语言·nodejs·mcp
秋田君15 小时前
Qt_串口编程
开发语言·qt
worilb15 小时前
Java/JVM 常见诊断文件对比
java·开发语言