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

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

有时间继续;

相关推荐
学编程就要猛7 分钟前
数据结构初阶:Java中的ArrayList
java·开发语言·数据结构
JH30739 分钟前
10分钟理解泛型的通配符(extends, super, ?)
java·开发语言·windows
Tony Bai34 分钟前
【Go模块构建与依赖管理】01 前世今生:从 GOPATH 的“混乱”到 Go Modules 的“秩序”
开发语言·后端·golang
缺点内向1 小时前
Java 使用 Spire.XLS 库合并 Excel 文件实践
java·开发语言·excel
报错小能手1 小时前
C++笔记(面向对象)详解单例模式
c++·笔记·单例模式
吗~喽1 小时前
【C++】内存管理
c++
百锦再2 小时前
Go与Python在AI大模型开发中的深度对比分析
java·开发语言·人工智能·python·学习·golang·maven
盒马盒马2 小时前
Rust:复合类型
开发语言·rust
R.lin2 小时前
红包实现方案
java·开发语言·网络·后端·架构
上去我就QWER3 小时前
解锁Qt元对象系统:C++编程的超强扩展
c++·qt