vector中用迭代器访问类的成员函数的方法

遇到了问题就是我把类放在了vector中,但是用迭代器访问不了,最后解决貌似是没加括号,在这里把它记录下来

三个文件
类的头文件:commodity.h
类的源文件:commodity.cpp
测试文件:main.cpp

commodity.h

#ifndef COMMODITY_H
#define COMMODITY_H

#include <string>
#include <iostream>
using namespace std;

class Commodity
{
public:
    Commodity();
    Commodity(int prise,string name);
    void print();
private:
    double m_doPrise;
    string m_strName;
};

#endif // COMMODITY_H

commodity.cpp

#include "commodity.h"
using namespace std;
Commodity::Commodity()
{
    m_doPrise = 0;
    m_strName = "wu";
}
Commodity::Commodity(int prise, string name)
{
    m_doPrise= prise;
    m_strName = name;
}
void Commodity::print()
{
    cout<< m_doPrise << endl;
    cout<< m_strName << endl;
}

main.cpp

#include <iostream>
#include <fstream>
#include <string>
#include <assert.h>
#include <vector>
#include "commodity.h"

using namespace std;




int main()
{
    cout << "Hello World!" << endl;
    double doPrise;
    string strName;

    cout << "Please input Prise" << endl;
    cin >>doPrise;
    cout << "Please input name" << endl;
    cin >>strName;

    vector<Commodity> veCommTest;
    veCommTest.push_back(one);
    for(auto iter = veCommTest.begin();iter != veCommTest.end();iter++)
    {
        (*iter).print();
    }


    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40062917/article/details/79179637
今日推荐