我对编程比较陌生,我在入门课上做得很好。然而,随着我们开始深入了解 C++ 的更高级概念,我越来越迷茫。实验室作业有问题,希望大家帮忙!
编写一个名为 GenericList 的通用列表类。该类应该使用向量并且能够以任何类型名称创建。该类应具有以下成员:
- 一个简单的构造函数
- add(item) - 将项目添加到列表中
- grabSmallest() - 查找、返回和删除列表中的最小项
这是我到目前为止所拥有的,我相信它至少设置正确:
编辑
这是我在建议的更正之后所拥有的,不过我现在遇到了另一个问题。这是修改后的代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
template<typename T>
class GenericList
{
public:
GenericList();
void add(T value);
T grabSmallest();
private:
vector<T> listVector;
};
template<typename T>
GenericList<T>::GenericList()
{
}
template<typename T>
void GenericList<T>::add(T value)
{
listVector.push_back(value);
}
template<typename T>
T GenericList<T>::grabSmallest()
{
int smallest = listVector[0];
for (int i = 0; i < listVector.size(); i++)
{
if (listVector[i] < smallest)
{
smallest = listVector[i];
}
}
}
int main (){
GenericList<int> myList;
myList.add(10);
myList.add(5);
myList.add(20);
myList.add(15);
for(int i=0;i<4;i++)
cout << myList.grabSmallest() << " ";
}
我现在在抓取功能中的 for 循环出现问题。显然,编译器正在将随机数放入向量中。