c++对象之间的通信

C++ communication between objects

本文关键字:通信 之间 对象 c++      更新时间:2023-10-16

我相信这类问题以前已经被问过(并回答过),所以如果有的话,请链接到之前的讨论…

在c++中,假设我有一个ClassA类型的对象,它包含一个ClassB类型的私有成员变量对象。如何在 ClassB中调用对ClassA对象的引用?

我正在使用观察者设计模式,其中ClassA对象是"主题",而ClassB中的对象,例如ClassC类型,是ClassA对象的"观察者"。因此,当在ClassB中初始化对象ClassC时,它的一个参数需要是对其"subject"对象的引用。

简介:

struct A;
struct B : C {
  B(A &a) : c(a) { }
  C c;
};
struct A {
  A() : b(*this) { }
  private:
    B b;
};

B没有对A的特殊访问权,仅仅因为它是成员。