博客
关于我
阿里钉钉面试题
阅读量:409 次
发布时间:2019-03-06

本文共 765 字,大约阅读时间需要 2 分钟。

定义一个类对list进行封装,使其可以通过下标对list进行操作

在C++编程中,为了实现对list的封装操作,可以定义一个类来将list的元素通过数组样式的方式访问。以下是实现方法:

#include 
#include
#include
#include
using namespace std;class Test{public: Test(); ~Test(); Test(list
strList); string &operator[](int n);};Test::Test(list
strList){ m_strList = strList;}string &Test::operator[](int n){ list
::iterator i = m_strList.begin(); vector
::iterator> vecStrIter; for (; i != m_strList.end(); i++) { vecStrIter.push_back(i); } return *(vecStrIter[n]);}int main(){ string str[4] = {"a", "li", "ba", "ba!"}; list
strList(str, str + 4); Test test(strList); cout << test[1] << endl; return 0;}

通过这种方式,可以通过类似数组的方式访问list中的元素。编译环境不会报告错误,且运行时不会出现未定义的行为。

转载地址:http://fbbkz.baihongyu.com/

你可能感兴趣的文章
Qt编写自定义控件12-进度仪表盘
查看>>
poj 2186 Popular Cows :求能被有多少点是能被所有点到达的点 tarjan O(E)
查看>>
POJ 2186:Popular Cows Tarjan模板题
查看>>
POJ 2229 Sumsets(递推,找规律)
查看>>
poj 2236
查看>>
POJ 2243 Knight Moves
查看>>
POJ 2262 Goldbach's Conjecture
查看>>
POJ 2362 Square DFS
查看>>
Qt笔记——解决添加Qt Designer Form Class时“allocation of incomplete type Ui::”
查看>>
poj 2386 Lake Counting(BFS解法)
查看>>
poj 2387 最短路模板题
查看>>
POJ 2391 多源多汇拆点最大流 +flody+二分答案
查看>>
POJ 2403
查看>>
poj 2406 还是KMP的简单应用
查看>>
POJ 2431 Expedition 优先队列
查看>>
Qt笔记——获取位置信息的相关函数
查看>>
POJ 2484 A Funny Game(神题!)
查看>>
POJ 2486 树形dp
查看>>
POJ 2488:A Knight&#39;s Journey
查看>>
SpringBoot为什么易学难精?
查看>>