我使用std :: cout时,operator []有问题

时间:2018-11-06 20:47:45

标签: c++ class vector operator-keyword cout

首先,我想做什么的例子:

int* newArray = new int[10];
std::cout << newArray[5] << std::endl; // Example for index
delete[] newArray;
system("PAUSE");

我知道该索引的值是垃圾,但它仍然可以提供一些帮助。 我正在尝试创建Vector对象,并且正在为该类构建operator []。 这是功能:

int& Vector::operator[](int n) const
{
   return this->_elemetns[n];
}

我为班级搭建了一个小小的主管道:

#include "Vector.h"
#include <iostream>

int main()
{
    Vector* newVector = new Vector(5);
    newVector->Vector::push_back(4);
    newVector->Vector::push_back(3);
    newVector->Vector::push_back(5);
    newVector->Vector::push_back(4);
    newVector->Vector::push_back(1);
    std::cout << newVector[4] << std::endl; // dident work
    system("PAUSE");
}

Vector.h的垃圾箱:https://pastebin.com/vENw0GGM *我必须说是否即时通讯使用了非指针对象,像这样:

Vector newVec(5);

效果很好!

0 个答案:

没有答案