VC++中不同函数的对象访问
Posted
技术标签:
【中文标题】VC++中不同函数的对象访问【英文标题】:OBject access from different functions in VC++ 【发布时间】:2010-04-22 11:47:08 【问题描述】:我的 B 类中有 3 个函数。这三个函数必须访问其他 A 类的成员函数。
我通过在 B 类构造函数中创建 A 类对象并尝试在 B 类的函数中访问该对象来做到这一点。但它显示错误。
如何在这三个函数中评估同一个对象。我必须在哪里创建 A 类的对象
B::B()
A a;
B:: function()
a.fun(); //fun belongs to class A
B:: function1()
a.fun1(); //fun1 belongs to class A
我遇到了错误,如何在两个函数中访问对象 a 的地方实现相同的功能。
【问题讨论】:
【参考方案1】:您应该将 A 添加为 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;
;
【讨论】:
【参考方案2】:您需要像这样将a
设为B
类的成员变量:
class B
private:
A a;
// ...
这将使它可用于B
的所有成员函数。
(没有必要设置为private
- 设置为private
、protected
或public
的决定取决于您是否希望仅在B
、B
和B
的派生类,或无处不在。)
【讨论】:
以上是关于VC++中不同函数的对象访问的主要内容,如果未能解决你的问题,请参考以下文章