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

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

有时间继续;

相关推荐
橘色的喵1 分钟前
C++17 vs C 编译产物体积:工业嵌入式场景的实测与分析
c语言·c++·c++17
逍遥德10 分钟前
如何学编程之理论篇.03.如何做数据库表结构设计?
开发语言·数据库·性能优化·代码规范·代码复审
froginwe1116 分钟前
TCP/IP 邮件
开发语言
Ivanqhz21 分钟前
数据流分析的核心格(Lattice)系统
开发语言·javascript·后端·python·算法·蓝桥杯·rust
键盘鼓手苏苏24 分钟前
Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案
开发语言·后端·flutter·华为·rust·json·harmonyos
he___H24 分钟前
jvm41-47回
java·开发语言·jvm
csdn2015_27 分钟前
MybatisPlus LambdaQueryChainWrapper 联合查询
开发语言·windows·python
骑猪撞地球QAQ27 分钟前
Java在导出excel时中添加图片导出
java·开发语言·excel
悦悦子a啊30 分钟前
CSS 知识点
开发语言·前端·css
闻缺陷则喜何志丹38 分钟前
【进制】P2320 [HNOI2006] 鬼谷子的钱袋|普及+
c++·算法·进制