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

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

有时间继续;

相关推荐
xrkhy14 分钟前
Java全栈面试题及答案汇总(2)
java·开发语言
@LetsTGBot搜索引擎机器人31 分钟前
从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战
开发语言·python·搜索引擎·github·全文检索
洲覆43 分钟前
缓存异常:缓存穿透、缓存击穿、缓存雪崩
开发语言·数据库·mysql·缓存
想想吴1 小时前
10. 引用计数
c++·引用计数
yolo_guo1 小时前
opencv 学习: 04 通过ROI处理图片局部数据,以添加水印为例
linux·c++·opencv
逻极1 小时前
变量与可变性:Rust中的数据绑定
开发语言·后端·rust
三次拒绝王俊凯2 小时前
java求职学习day47
java·开发语言·学习
合作小小程序员小小店2 小时前
基于可视化天气系统demo,基于python+ matplotlib+request爬虫,开发语言python,数据库无,10个可视化界面,需要的可以了联系。
开发语言·爬虫·python·matplotlib
顺顺 尼2 小时前
模板进阶和array
c++
一匹电信狗2 小时前
【牛客CM11】链表分割
c语言·开发语言·数据结构·c++·算法·leetcode·stl