Redian新闻
>
类(class)的问题,如果两个类互相调用怎么办
avatar
类(class)的问题,如果两个类互相调用怎么办# JobHunting - 待字闺中
f*t
1
careercup 7.2:
这里CallHandler和Employee互相调。编译出现这个错:
1>.\design.cpp(432) : error C2065: 'Employee' : undeclared identifier
对于函数我们可以声明。class呢?
非常感谢 =)
class CallHandler {
static const int LEVELS = 3;
static const int NUM_FRESHERS = 5;
vector > employeeLevels(LEVELS);
public:
Employee dispatchCall(Call call) {
for (int level = call.getRank(); level < LEVELS; ++level) {
for (int i = 0; i < employeeLevels[level].size(); ++i) {
if (employeeLevels[level][i].free)
return employeeLevels[level][i];
}
}
}
};
class Employee {
int rank;
bool free;
CallHandler callHandler;
public:
void CannotHandle(Call call) {
call.rank = rank + 1;
callHandler.dispatchCall(call);
free = true;
callHandler.getNextCall(this);
}
};
avatar
h*e
2
Use forward declaration:
Put class Employee at the top.
avatar
f*t
3
But the class Employee will also use the class CallHandler.
avatar
b*i
4
class Employee;

【在 f**********t 的大作中提到】
: But the class Employee will also use the class CallHandler.
avatar
w*x
5
careercup的设计题答案感觉都是over design
avatar
f*t
6
嗯,明白了。看来和function的用法一样。
avatar
f*t
7
是说那些答案说得过多了?

【在 w****x 的大作中提到】
: careercup的设计题答案感觉都是over design
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。