无法在C ++中使用向量读取对象

时间:2016-04-13 19:55:42

标签: c++ c++11

我有一个问题,我不明白为什么我无法从矢量中获取价值:

我认为错误是我如何使用我的载体。

我有3个文件:

班级小组的负责人

Group.hpp

#ifndef Group_hpp
#define Group_hpp

#include <iostream>
#include <string>
#include <vector>
#include "Etapes.hpp"
using namespace std;


class Group{

    float coefficiant;
    int note;


public:
    Group(float coefficiant,int note);
    float getCoefficiant();
    int getNote();


};


#endif /* Group_hpp */

Group.cpp(我定义了我班级的内容)

#include "Group.hpp"

Group::Group(float coefficiant,int note){
    this->coefficiant = coefficiant;
    this->note = note;
}

float Group::getCoefficiant(){
    return this->coefficiant;
}

int Group::getNote(){
    return this->note;
}

和主要:我执行课程的地方。

#include <iostream>
#include "Etapes.hpp"
#include "Group.hpp"
using namespace std;
int main(int argc, const char * argv[]) {

    vector<Group> listGroup;
    listGroup.push_back(*new Group(2.2,5));

    for(int i = 0;i<listGroup.size();i++){
        cout<<listGroup[i].getCoefficiant()<<endl;
    }

    return 0;
}

我真的锁定了这门课程。

谢谢

1 个答案:

答案 0 :(得分:0)

而不是

listGroup.push_back(*new Group(2.2,5));

只需使用

listGroup.push_back(Group(2.2,5));

STL容器的一大优势是它们封装了动态内存分配。