C++ 一个函数怎么使用另一个函数中变量的值

如题所述

1、C++的函数也保存在内存中,所以可以使用指针访问函数地址。

2、声明函数指针,其方法与函数原型差不多,以下为一个函数原型。

3、程序中声明了一个函数指针,指针类型为整型

4、获取一个函数的地址,只要使用函数名即可。

5、使用函数指针调用函数,与普通指针类似,可以用(*fq)来间接调用指向的函数。

6、C++中,还允许像使用函数名一样使用函数指针。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-07

函数的局部变量是不可以在函数外部访问的。其值可以有两种方式得到:

    用函数的返回值

int fun ()

    int m=2;
    return m; //作为返回,传出m的值
}

void main()
{
    int x;
    x= fun(); //x可以使用局部变量的值 
}

 

2. 用指针

void fun (int *p)
{
    int m=2;
    *p=m;  //在p指向的地址中保存m的值
}

void main()
{
    int x;
    fun(&x); //指针作为参数传递给函数,函数执行完之后x=m
}

第2个回答  推荐于2017-09-25
有两种情况下可以:
一、调用者通过被调用函数的返回值或形参(输出参数)来使用被调用函数中的变量的值。前提,必须在被调用函数执行完毕后。
int max( int a,int b )
{
int z;
if (a>b) z=a;

else z=b;
return z;

}
main()
{
int x;
x=max(3,9); //x可使用到max函数的返回值z的值
printf("x=%d\n",x );
}
二、被调用函数,可通过调用函数的实参来使用调用者函数中的变量的值。
func( int x )
{
printf("x=%d\n",x );
}
main()
{
int n=10;
func(n); //把10传递到func函数中,func函数可以使用到10
}
无其它情况。追问

不好意思 请问在mfc里怎么弄呀

追答

你要是学习,不要用MFC,只用windos console app来实验就可以了

追问

我们现在是在用mfc 也是刚开始学习
就是不太明白啊

追答

MFC的应用方法和结构较为复杂,是经过包装的应用程序开发工具,要掌握和应用它需要下一番功夫。
但从C语言应用角度上讲,它的调用关系与上面的描述是相同的。只要调用函数与被调用函数采用相应的方法就可以达到你想要的功能。具体请自己写代码练习。

本回答被提问者和网友采纳
第3个回答  推荐于2017-09-14
假设想在类A里调用类B的函数int f(x),两种办法:
1、class A::B 也就是说将B定义为A的父类, 这样你就可以自然的在A里面用f(x)了
2、class A
{
B B_ins;
int g(x);
}int g(x)
{
return B_ins.f(x)
}
也就是说可以在A里面使用一个B的对象作为成员变量,这样就可以用他的函数了
第4个回答  2013-07-07
可以直接传递参数,或者使用指针、引用
指针如:
void fun(int *a) //这里传递变量的地址
{
int b = 1;
*a = b;
}
引用:
void fun(int &a) //这里直接传递变量
{
int b=1;
a = b;
}
相似回答