C++程序 创建自定义向量类
任务是实现一个类似于STL向量的自定义向量类,具有以下功能:
- int push_back(data): 将一个元素(任何数据类型)添加到数组的末尾,并返回向量中元素的数量
- data_type pop_back(): 从数组末尾删除一个元素,并返回弹出的元素
- int size() const: 返回向量的当前大小
以下程序实现了C++中的自定义向量类,并具有上述功能:
GenericMyVector<int>::iterator it;
// 调用函数来显示v向量中的元素
cout << "向量v中的元素:";
display_vector(v);
// 打印向量v的大小
cout << "大小:" << v.size() << endl;
// 打印索引2处的元素
cout << "v[2]:" << v[2] << '\n';
// 弹出一个元素并打印它
cout << "弹出的元素:" << v.pop_back() << '\n';
display_vector(v);
cout << endl;
cout << "对于Char数据类型:" << endl;
GenericMyVector<char> c;
c.push_back('a');
c.push_back('b');
c.push_back('c');
c.push_back('d');
c.push_back('e');
c.push_back('f');
c.push_back('g');
c.push_back('h');
// 声明遍历vector c的迭代器
GenericMyVector<char>::iterator it1;
// 调用函数来显示c向量中的元素
cout << "向量c中的元素:";
display_vector(c);
// 打印向量c的大小
cout << "大小:" << c.size() << '\n';
// 打印索引2处的元素
cout << "c[2]:" << c[2] << '\n';
// 弹出一个元素并打印它
cout << "弹出的元素:" << c.pop_back() << '\n';
// 调用函数来显示c向量中的元素
cout << "向量c中的元素:";
display_vector(c);
return 0;
}
输出:
对于整数 data_type
向量 v 中的元素:5 6 7 8 9 10 11 12
大小:8
v[2]:7
弹出元素:12
5 6 7 8 9 10 11
对于字符 data_type
向量 c 中的元素:a b c d e f g h
大小:8
c[2]:c
pop:h
向量 c 中的元素:a b c d e f g