c++:调用一个函数获取值,调用另一个函数访问值

c++: call one function to get value and call another one to access the value

本文关键字:调用 函数 获取 另一个 访问 c++ 一个      更新时间:2023-10-16

我是C++的新手,现在我正在编写一些代码来练习。我的问题可能很愚蠢,我试图寻找答案,但我发现的不符合我的情况(我想是的,可能我在C++方面的知识太有限了…)。好吧,我的问题是:

我有一个主要功能,看起来像:

#include "LoadMedia.h"
#include "Parser.h"
#include "Runner.h"
#include <string>
int main(int argc, char*argv[])
{
 LoadMedia script = LoadMedia(); // initialize an object of class LoadMedia
 script.loadScript("myscript.efa");  // loadScript is a function defined in class LoadMedia
 script.Parse(); // Parse is a function defined in class Parser, class LoadMedia is inheritaged from class Parser
 Runner tempRunner = Runner(); // initialize an object in class Runner
 tempRunner.Eval(); // Eval is a function defined in class Runner
 ...... // some other codes....
}

调用功能时

Parser::Parse()

我会得到一些值(int,string,double)和函数

Runner::Eval() 

将需要这些值来进行一些评估。

我想知道如何将从Parse()获得的值保存在Eval()也可以轻松访问这些值的地方。。。我在想我是否可以使用指针或引用,但我不知道该怎么做,因为我对c++还很陌生。。。。有什么想法吗?

如果你真的需要存储这些值,你可以查看Parser.h,看看返回的是哪种类型,并在你的main中存储相同的stype。

如果你不在乎存储值,你可以做这样的事情:

tempRunner.Eval(script.Parse());

当parse完成他的工作时,它会自动将返回的值传递给Eval()。

LoadMedia类或Parser类中可以有3个成员变量int、string、double(取决于设计)在Parser :: Parse()中,填充这些变量。然后将Parser对象传递给Runner :: Eval()

当然,这只是一种方式。