C++ C++;奇怪的用法?

C++ C++;奇怪的用法?,c++,C++,我不确定我所做的是不是一个糟糕的设计,但我正在努力做到以下几点: class c_a { public: void do_stuff(c_b *b) { b->move_x(); } }; class c_b { public: void call() { c_a a; a.do_stuff(this); } void move_x() { cout <

我不确定我所做的是不是一个糟糕的设计,但我正在努力做到以下几点:

class c_a
{
public:
    void do_stuff(c_b *b)
    {
        b->move_x();
    }
};

class c_b
{
public:
    void call()
    {
        c_a a;
        a.do_stuff(this);
    }

    void move_x()
    {
        cout << "test";
    }
};

int main()
{
    c_b b;
    b.call();
}
c类
{
公众:
无效的东西(c_b*b)
{
b->move_x();
}
};
c_b类
{
公众:
无效调用()
{
c_a a;
a、 做些什么(这个);
}
无效移动_x()
{

cout每个名称在使用前都应声明

class c_a
{
public:
    void do_stuff( class c_b *b);
};

class c_b
{
public:
    void call()
    {
        c_a a;
        a.do_stuff(this);
    }

    void move_x()
    {
        cout << "test";
    }
};

void c_a::do_stuff( c_b *b)
{
    b->move_x();
}

int main()
{
    c_b b;
    b.call();
}
c类
{
公众:
无效工作(c类b*b);
};
c_b类
{
公众:
无效调用()
{
c_a a;
a、 做些什么(这个);
}
无效移动_x()
{
无法移动_x();
}
int main()
{
c_b b;
b、 call();
}

每个名称在使用前都应声明

class c_a
{
public:
    void do_stuff( class c_b *b);
};

class c_b
{
public:
    void call()
    {
        c_a a;
        a.do_stuff(this);
    }

    void move_x()
    {
        cout << "test";
    }
};

void c_a::do_stuff( c_b *b)
{
    b->move_x();
}

int main()
{
    c_b b;
    b.call();
}
c类
{
公众:
无效工作(c类b*b);
};
c_b类
{
公众:
无效调用()
{
c_a a;
a、 做些什么(这个);
}
无效移动_x()
{
无法移动_x();
}
int main()
{
c_b b;
b、 call();
}

每个名称在使用前都应声明

class c_a
{
public:
    void do_stuff( class c_b *b);
};

class c_b
{
public:
    void call()
    {
        c_a a;
        a.do_stuff(this);
    }

    void move_x()
    {
        cout << "test";
    }
};

void c_a::do_stuff( c_b *b)
{
    b->move_x();
}

int main()
{
    c_b b;
    b.call();
}
c类
{
公众:
无效工作(c类b*b);
};
c_b类
{
公众:
无效调用()
{
c_a a;
a、 做些什么(这个);
}
无效移动_x()
{
无法移动_x();
}
int main()
{
c_b b;
b、 call();
}

每个名称在使用前都应声明

class c_a
{
public:
    void do_stuff( class c_b *b);
};

class c_b
{
public:
    void call()
    {
        c_a a;
        a.do_stuff(this);
    }

    void move_x()
    {
        cout << "test";
    }
};

void c_a::do_stuff( c_b *b)
{
    b->move_x();
}

int main()
{
    c_b b;
    b.call();
}
c类
{
公众:
无效工作(c类b*b);
};
c_b类
{
公众:
无效调用()
{
c_a a;
a、 做些什么(这个);
}
无效移动_x()
{
无法移动_x();
}
int main()
{
c_b b;
b、 call();
}