在另一个类方法中运行类方法

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)

Gre*_*reg 5

有两种直接的方法可以做到这一点.其中之一,您选择的是将外部类对象传递给另一个对象方法.另一种方法是将对象封装在另一个对象中,并直接从封闭类的方法中调用它.

可能有更多深奥的方式来做到这一点,但你选择的方式是完全合理的.您选择哪个选项取决于程序的体系结构.