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

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

有时间继续;

相关推荐
周杰伦fans19 小时前
C# - 直接使用 new HttpClient() 和使用 HttpClientFactory 的区别
开发语言·c#
kyle~19 小时前
C++ --- noexcept关键字 明确函数不抛出任何异常
java·开发语言·c++
不知所云,19 小时前
6. c++ 20 Modules 使用
开发语言·c++20·c++ modules
lijiatu1008619 小时前
[C++ ]qt槽函数及其线程机制
c++·qt
帅_shuai_19 小时前
UE GAS 属性集
c++·游戏·ue5·虚幻引擎
沐浴露z19 小时前
详解Java ArrayList
java·开发语言·哈希算法
x***B41119 小时前
Rust unsafe代码规范
开发语言·rust·代码规范
Juan_201219 小时前
P2865 [USACO06NOV] Roadblocks G 题解
c++·算法·图论·题解
北郭guo19 小时前
Java设计模式 【理论+代码实现】 让你从小白到大佬的蜕变
java·开发语言·设计模式
MediaTea20 小时前
Python 库手册:gc 垃圾回收
java·开发语言·jvm·python·算法