#include<iostream>
#include<vector>
using namespace std;
class t{
public:
t();
void updateSize();
int getSize();
void insert();
int get(int a);
private:
int size;
vector<int> v;
};
t::t(){
size =0;
}
void t::updateSize(){
size++;
}
int t::getSize(){
return size;
}
int t::get(int a){
return v[a];
}
void t::insert(){
v.push_back(size);
++size;
}
int main(){
t xa;
xa.insert();
xa.insert();
xa.insert();
xa.insert();
cout<<xa.get(3);//expect to output 3 but instead outputs 0
return 0;
}
这个代码应该在每次调用insert时增加大小,并将一个带有该大小值的整数放在该大小的相同索引处的向量中。但由于某种原因,它没有将更新的大小放入我的向量中。
答案 0 :(得分:4)
你正在插入3个元素,但是你正在读第4个元素(因为索引是基于0的。)
答案 1 :(得分:0)
您发布的程序将打印“3”。证明阅读您的代码。