0

假设我有以下 C++ 代码:

class Circuit {
    public:
    Properties circuit_prop;
    Library tech_libray;
    InstanceList instances;
}

PropertiesLibrary并且InstanceList是我的代码中定义的类。例如,该类InstanceList有一个名为build. 是否可以访问成员对象circuit_proptech_library不将它们作为参数传递给build?解决这个问题的最佳方法是什么?

4

3 回答 3

2

不,这是不可能的,因为 anInstanceList也可以存在于Circuit.

如果您有一个需要访问各种成员的方法,它应该进入具有这些成员的类 - 在您的情况下,Circuit.

或者,InstanceList需要知道Circuit它所属的,在这种情况下,它可以通过Circuit的公共接口访问成员。

于 2013-10-31T13:19:20.477 回答
1

circuit_prop 或 tech_library 范围仅在类 Circuit 内,最好在 Circuit 内创建一个方法,该方法具有单独类所需的所有公共访问权限。

于 2013-10-31T13:28:18.580 回答
1

仅仅因为类是同一类的关联成员,并不意味着它们可以自由地访问彼此的成员对象。我会说制作circuit_proptech_library成员InstanceList会比让他们成为同一类的所有成员更好。通过这种方式,您可以从设置中自由Circuit访问它们或通过制作get setCircuitfriend classInstanceList

于 2013-10-31T13:23:08.653 回答