Eag*_*gle 0 c++ class-design class
我想在另一个类的另一个函数方法中运行一个类的函数方法.我编写了以下代码作为示例,它编译并返回预期值.我的问题是,这是否是在另一个类方法中预先形成类方法计算的正确方法...
问候
#include <iostream>
class CBoo {
public:
CBoo();
void Test();
void Plot();
private:
int b;
};
CBoo::CBoo() {
b = 3;
}
void CBoo::Test() {
b++;
}
void CBoo::Plot() {
std::cout << "b: " << b << std::endl;
}
class CFoo {
public:
CFoo();
void Test( CBoo &Boo );
void Plot();
private:
int a;
};
CFoo::CFoo() {
a = 3;
}
void CFoo::Test( CBoo &Boo ) {
for ( int i = 0 ; i < 10 ; i++ ) {
a++;
Boo.Test();
}
}
void CFoo::Plot() {
std::cout << "a: " << a << std::endl;
}
int main( ) {
CFoo Foo;
CBoo Boo;
Foo.Test( Boo );
Foo.Plot();
Boo.Plot();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有两种直接的方法可以做到这一点.其中之一,您选择的是将外部类对象传递给另一个对象方法.另一种方法是将对象封装在另一个对象中,并直接从封闭类的方法中调用它.
可能有更多深奥的方式来做到这一点,但你选择的方式是完全合理的.您选择哪个选项取决于程序的体系结构.