从向量中保存的类对象输出类函数

Posted

技术标签:

【中文标题】从向量中保存的类对象输出类函数【英文标题】:Outputting a class function from class object held in a vector 【发布时间】:2015-02-21 01:51:59 【问题描述】:

对于我的 C++ 类中的一个项目,我必须将一些形状类对象保存到一个向量中,然后稍后使用它们来返回这些形状的区域。我的类运行良好,但我不知道如何恢复到任何旧的类对象,以便稍后在程序中使用它们。在我需要将该区域保存到另一个文本文件的地方,我只是找不到在发送之前从向量中获取正确结果的方法。

#include <iostream>
#include <fstream>
#include <vector>
#include "Shape.h"
#include "Triangle.h"
#include "Rect.h"


using namespace std;

int main()

    ifstream inFS;
    double a = 0;
    double b = 0;
    double c = 0;
    vector <Rect> vRect;
    vector <Triangle> vTriangle;

    Rect Rect;
    Triangle Tri;

inFS.open("rSides.txt");
if(!inFS.is_open())

    cout << "Could not open rSides.txt." << endl;
    return 1;


while(inFS.good())

    cout << "Reading two numbers from rSides.txt" << endl;
    inFS >> a >> b;
    Rect.setHeight(a);
    Rect.setWidth(b);

    if(Rect.checkValidity()==true)
    vRect.push_back(Rect);

    else
    cout << "Invalid Input" << endl;


cout << vRect.size() << endl;

for(int i=0;i<vRect.size();i++)
    Rect = vRect.at(i);

    cout << Rect.getArea();

【问题讨论】:

这个问题没有多大意义。你好像漏了几个字。 【参考方案1】:

事实证明,在我之前的尝试中,我做错了什么。我需要做的就是以我想要的状态调用类:

cout << vRect[i].getArea();

我以为我已经这样做了并且得到了错误,但看起来我只是弄错了。

【讨论】:

以上是关于从向量中保存的类对象输出类函数的主要内容,如果未能解决你的问题,请参考以下文章

将继承的类对象的向量传递给期望基类向量的函数

将对象的类类型保存到文件并在 C++ 中读回

C ++:如何访问另一个类中的类函数?

如何找到存储在 C++ 向量中的对象的类方法?

使用在内部结构定义中保存函数的类成员变量,这些函数将用作 unordered_map 对象的模板参数

无法取消引用插入到向量中的类对象指针