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

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

有时间继续;

相关推荐
m0_748233173 分钟前
30秒掌握C++核心精髓
开发语言·c++
Fleshy数模18 分钟前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言
Duang007_27 分钟前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
froginwe1132 分钟前
Redis 管道技术
开发语言
风清扬_jd1 小时前
libtorrent-rasterbar-2.0.11编译说明
c++·windows·p2p
u0109272711 小时前
C++中的RAII技术深入
开发语言·c++·算法
彷徨而立1 小时前
【C/C++】strerror、GetLastError 和 errno 的含义和区别?
c语言·c++
superman超哥1 小时前
Serde 性能优化的终极武器
开发语言·rust·编程语言·rust serde·serde性能优化·rust开发工具
誰能久伴不乏2 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt
一个响当当的名号2 小时前
lectrue9 索引并发控制
java·开发语言·数据库