首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用函数将文件传递给类方法,并使用方法中的文件访问私有对象属性。试图“加载”保存的对象

使用函数将文件传递给类方法,并使用方法中的文件访问私有对象属性。试图“加载”保存的对象
EN

Stack Overflow用户
提问于 2022-08-09 23:21:47
回答 1查看 27关注 0票数 -1

我正试图在我的程序中建立一个保存/加载函数。我把存钱的部分放下了,效果很好。我正在尝试反向保存和加载对象。我把文件传递给了object方法,但是我做错了一些事情。我不知道如何从文件中的数据中分配私有属性。

代码语言:javascript
复制
case '2':// load character
      game = load();
      if(game == 4 || game == 5 || game == 6){
        newgame(game-3);
      }
      else{
        hero herosave;
        loadgame(game, herosave);
      }
      break;
代码语言:javascript
复制
void loadgame(int save, hero newhero){
  if(save == 1){
    ifstream file1("hero1.txt");
    newhero.loadStats(file1);
    file1.close();
    }
    if(save == 2){
    ifstream file2("hero2.txt");
    newhero.loadStats(file2);
    file2.close();
    }
    if(save == 3){
    ifstream file3("hero2.txt");
    newhero.loadStats(file3);
    file3.close();
    }
}
代码语言:javascript
复制
class hero{
private:
string name;
string race;
string heroclass;
int strength, wisdom, charisma;
int dexterity, intelligence, constitution;
int hitpoints, AC;



public:
hero();
void setName(string);
void setRace(int);
void setClass(int);
void setStats();
string getRace();
string getClass();
string getName();
int getStr();
int getWis();
int getCha();
int getDex();
int getInt();
int getCon();
int setAC();
void loadStats(ifstream &);
};
代码语言:javascript
复制
void hero::loadStats(ifstream &file){
  file >> name;
//THIS IS WHERE IM HAVING ISSUES
}
代码语言:javascript
复制
Bilbo Baggins
Halfling
Rogue
16
13
6
9
7
16
EN

回答 1

Stack Overflow用户

发布于 2022-08-10 00:03:04

我未能在包含类英雄的头文件中#include <fstream>#include <fstream>位于包含函数的头文件中,具有#include <fstream>,但它没有包含在类头文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73299095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档