gpt4 book ai didi

c++ - 访问类 C++ 的其他函数上声明的变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:44:44 25 4
gpt4 key购买 nike

我有以下简单的初学者 C++ 代码来使用函数做一些事情。请任何人帮助我如何访问另一个类的函数中声明的变量。

myclass.h

#include <iostream>
using namespace std;
class myclass
{
public:
void function_1(string str1);
void function_2(string str2);
void function_3(string str_var1,string str_var2);
};

myclass.cpp

#include <iostream>
#include"myclass.h"
using namespace std;

void myclass::function_1(string message1)
{
string str_in_fun_1=message1;
}

// -------------------
void myclass::function_2(string message2)
{
string str_in_fun_2=message2;
}

// ------------------
void ::function_3(string str1,string str2)
{
cout<<"we get:"<<str1<<"and"<<str2;
}

//main.cpp

#include"myclass.h"
#include <iostream>
using namespace std;
int main()
{
myclass in_myclass;
in_myclass.function_1("this is my first function!");
in_myclass.function_2("this is my second function!");
}

问题是,我可以在 function_3() 中以这种(如下)方式访问/使用 function_1() 和 function_2() 中声明的变量吗?

in_myclass.function_3(in_myclass.function_1.str_in_fun_1,in_myclass.function_2.str_in_fun_2) {
return 0;
}

如果没有,请帮助我...

最佳答案

否。无法从方法外部访问方法范围变量。如果您需要访问它们,这也不是好的设计。如果变量类似于类的状态,那么它们应该是类成员并直接访问/访问方法。如果它们仅需要在方法中进行计算,则它们应该是方法局部的。最后,如果这些都不适用,请将它们设置为全局(尽管从OO的角度来看这很糟糕,并且可能会导致很难发现错误)。不过,如果您需要在多个方法调用中保持它们,请将它们设置为静态

关于c++ - 访问类 C++ 的其他函数上声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23870320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com