繁体   English   中英

从同一类中的另一个成员对象访问成员对象

[英]Accessing member objects from another member object within the same class

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

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

PropertiesLibraryInstanceList是我的代码中定义的类。 例如, InstanceList类具有一个名为build的成员函数。 是否可以在不将其作为build参数传递的情况下访问成员对象circuit_proptech_library 解决这个问题的最佳方法是什么?

不,这是不可能的,因为InstanceList可能也存在于Circuit之外。

如果您有一个需要访问各种成员的方法,则应进入具有那些成员的类(在您的情况下为Circuit

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

仅仅因为类是同一类的关联成员,并不意味着它们可以自由访问彼此的成员对象。 我想说做circuit_proptech_library成员InstanceList会比让他们在同一类的所有成员更好。 这样,您可以让Circuitset自由get设置,或者通过将Circuit成为InstanceListfriend class来自由访问它们

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM