【发布时间】:2012-01-02 23:55:37
【问题描述】:
我有 A 类和 B 类。A 类有一堆带有获取/集合的变量,但我只想从 B 类调用这些集合。我能想到的唯一方法是使集合受到保护,并从 A 类派生 B 类。但是 B 类最终会从 A 类继承一堆不必要的东西。
例子:
class A {
public:
void setHealth();
int getHealth();
private:
int health;
};
class B {
public:
void someMethod() { classAInstance.setHealth(); } //This should work
private:
A classAInstance;
};
A classAInstance;
classAInstance.setHealth(); //This should not work because its not being called from Class B
我希望我对我的问题的解释足以让您了解我需要什么。提前致谢!
【问题讨论】:
-
关于 friend 关键字,请参阅您最喜欢的 C++ 语言书籍。