对象访问在VC

问题描述:

我有3个功能中的我的类B.这三个功能具有访问其他类A的成员函数对象访问在VC

我通过在B类构造函数创建类A的对象这样做并试图访问类B.但其示值误差的函数对象。

我如何评价这三个功能相同的对象。在那里我有创建类的对象的

B::B() 
{ 
    A a; 
} 
B:: function() 
{ 
a.fun(); //fun belongs to class A 
} 
B:: function1() 
{ 
a.fun1(); //fun1 belongs to class A 
} 

我得到的错误,我怎么能实现在那里我可以在这两个函数访问对象相同。

你需要让aB类的成员变量是这样的:

class B 
{ 
private: 
    A a; 

// ... 
} 

这将使其可向B的所有成员函数。

(使它private是没有必要的 - 决定把它privateprotectedpublic取决于您是否想使它只在B可用,内BB的派生类,或随处可见。)

您应该添加为您的B级的一员,而不是作为B构造函数的局部变量。 试试这个:

class B 
{ 
public: 
    B(); 
    void function1(); 

private: 
    // This is your member, and you can access it from all of B's methods. 
    A m_a; 
};