【发布时间】:2011-09-30 06:38:11
【问题描述】:
我认为这是一个非常新的问题,但我从未找到答案。我不知道如何准确地表达这个问题,但我经常发现我必须访问就当前层次结构而言与当前对象“相距甚远”的对象。我只是想确保这是正确(唯一)的方法。
这也伴随着从 main 传入参数。我发现一些远离main的对象需要多次传入参数。远离 main 的对象如何从命令行获取信息?
例如对于第一种情况,对于 4 个类...
class A{
B b;
//need to check status of D
//choice 1
b.get_c().get_d().get_status();
//choice 2
const C& c = b.get_c();
const D& d = c.get_d();
d.get_status();
};
class B{
public:
C c;
const C& get_c() {return c;}
};
class C{
public:
D d;
const D& get_d() {return d;}
};
class D{
public:
bool check_status();
};
比如说,A 是汽车,B 是门总成,C 是门,D 是锁。然后A必须检查说,是否锁定,否则阻止启动。
选择3是直接从A调用D的方法,我得在C、B、A做几层check_status(),然后返回D、C、B.check_status()。
所有这些对子对象的调用(如果代码稍微复杂一点的话)不会产生很多开销吗?
谢谢。
【问题讨论】:
标签: c++ performance oop