C++如何在一个类中引用另一个类的变量

如题所述

可能你理解上有问题。
不太明白你的意思,所以我分开解释。

如果是在定义的时候就引用,下面两种。

1.两个都是类,即类的静态变量(static修饰),一个类自然可以引用静态变量,因为静态变量是在程序进入main函数前就已经初始化完了。

2.一个类A一个实例B(A类产生的对象),A当然无法在类的内部引用(即定义中),因为实例是在程序中动态分配的内存,类A必然先于实例B存在,所以A并不能知道B的存在。B可以引用类A的静态变量,理由同1。

如果是在运行时才引用。

你只要在类A里写一个函数,例如function(B b),这样你要调用的时候通过这个函数做接口就行了,至于b你要做什么,就是你的事了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-25
如果是两个孤立的类,最好不要这么做,一个类需要用到的数据,最好是从另外一个类公开的接口来获取。直接引用另外一个类的变量,会破坏数据的封装性,会有麻烦的。

如果是派生类要引用基类的数据,只要数据不是私有,直接引用就可以。
第2个回答  推荐于2017-10-14
可以这样做:
class a
{
friend class b;
private:
int num;
};
class b
{
private:
a fron_a;
public:
void get(){return from_a->num};
};
第3个回答  2010-08-21
在第二个类中实例化第一个类,在通过实例化后的类的函数(一般是get之类的函数)来引用!

看看这个方法行不行~
第4个回答  2010-08-21
一个类中定义一个指向另一个类的变量的指针不行吗?

C++如何在一个类中引用另一个类的变量
1.两个都是类,即类的静态变量(static修饰),一个类自然可以引用静态变量,因为静态变量是在程序进入main函数前就已经初始化完了。2.一个类A一个实例B(A类产生的对象),A当然无法在类的内部引用(即定义中),因为实例是在程序中动态分配的内存,类A必然先于实例B存在,所以A并不能知道B的存在。

C++中两个文件中各有一个类,怎么调用另一个类中的成员
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的对象作为成员变量,这样就可以用他的函数了 ...

C++如何在一个类的成员函数中调用另一个类的成员函数
1、首先声明如下所示的类,类内部定义一个public的整型数据成员。2、主函数中定义指向类的数据成员的指针。3、声明类的对象,该对象变量调用指向类的数据成员的指针进行赋值操作。4、然后输出打印类的数据成员,从结果看,上一步的操作赋值成功。5、定义类的指针,通过指针指向对象成员的指针来进行赋值。...

c++在一个cpp中使用另一个cpp中的类对象?
你如果 想要访问1.cpp中的a,需要使用全局变量,考虑到编译顺序的问题,你可以这样写:A & Geta(){ static A a;return a;} 在1.h中写这个函数的声明,1.cpp中写这个函数的定义。然后包含1.cpp通过Geta()就可以直接访问a了。举例: Geta().fun();...

C++怎样在一个类里用另一个类
用类的聚合 就是将一个类的成员变量定义为另一个类的对象

C++在一个文件中调用另一个文件的变量
static int b;改为 int b;因为在全局变量前加static修饰符,表示该变量的作用域仅限于其所在的文件(即别的文件不可见)。

C++中,一个类里面的变量怎么在另一个类中使用?
这个变量时私有的话就不能在另外一个类里面用了 不过为了封装数据 基本上的类的数据成员都是设置为私有的 要获得这个成员的值一般都是构造一个getValue函数 这样有利于保护数据设置数据成员也是通过函数来实现的,举个例子 class MyClass1 { private:int data;public:MyClass1(){ date=0; } My...

C++中怎样在一个函数里面应用另一个函数里的变量值,除了使用函数嵌套的...
include<iostream> using namespace std;static int i;void F(){ i=9;cout<<i<<endl;} void g(){ i++;cout<<i<<endl;}int main(){ F();g();}

C++ 一个函数怎么使用另一个函数中变量的值
1、C++的函数也保存在内存中,所以可以使用指针访问函数地址。2、声明函数指针,其方法与函数原型差不多,以下为一个函数原型。3、程序中声明了一个函数指针,指针类型为整型。4、获取一个函数的地址,只要使用函数名即可。5、使用函数指针调用函数,与普通指针类似,可以用(*fq)来间接调用指向的函数。6...

C++一个头文件中申明的变量如何调用另一个头文件中变量的值
将 第一个头文件包含进来 使用 include "..."比如你第一个头文件叫 Graph.h那么你在第二个头文件 处头 include "Graph.h"注意头文件的 头文件卫士 是否有写

相似回答