>如果在函数A中想调用B函数,怎么处理??? --------------------------- 在 A 中写 B::B();
void A::A() { B objB; }
很显然,在类B没有初始化之前,不能访问B的成员函数,除非声明成Static类型class A { a(); void func(B); } class B { b(); void funb(); } void A:: func(B b) { b.funb(); } int main() { A a; B b; a.func(b); } }
#include <iostream.h>class B { void b() { } }; class A { b(); }; void main() { B bb; }
把 B 中要调的成员函数声名为 static 即可, 比如: class B { public: static void Hello() {printf("BBB\n");} };class A { public: void Hello() { printf("AAA\n"); B::Hello(); // 这里调用. } };
如果要相互引用(即二个类互为成员)则定义为友员 否则只是一个类要引用另一个类则,先定义类B,再定义类A,这样就更简单了,为了清楚,我就说第一种,即复杂一点的相互引用:class B; class A{ B *m_pB; }class B{ A mA; } 即可 我里面使用的虽是成员,但实际是另一个类的实例,你要使用他的函数,则B::b_func()即可.
在A的声明中 class A {void A(); B *b; } 定义函数void A::A() {b->B(); }
唉,大家说得都不错,但是具体用起来还是不行,因为我的一个类是个dlog生成的,另一个是view的类
在Class A中有一个成员函数void A(); 在Class B中有一个Public成员函数void B(); 如果在函数A中想调用B函数,怎么处理???答案: 情形一: class B { public: void B() { // do somthing; }} class A { void A() { //先申明一个B对象 B b; //调用 class B的函数B; b.B(); } }情形二: class B { public: static void B() { // do somthing; } }class A { void A() { //直接调用 class B的静态函数B; B::B(); } }
---------------------------
在 A 中写
B::B();
{
B objB;
}
{
a();
void func(B);
}
class B
{
b();
void funb();
}
void A:: func(B b)
{
b.funb();
}
int main()
{
A a;
B b;
a.func(b);
}
}
{
void b()
{
}
};
class A
{
b();
};
void main()
{
B bb;
}
其中disable()函数是将类BDlg视图中的几个button disable
class B
{
public:
static void Hello() {printf("BBB\n");}
};class A
{
public:
void Hello()
{
printf("AAA\n");
B::Hello(); // 这里调用.
}
};
否则只是一个类要引用另一个类则,先定义类B,再定义类A,这样就更简单了,为了清楚,我就说第一种,即复杂一点的相互引用:class B;
class A{
B *m_pB;
}class B{
A mA;
}
即可
我里面使用的虽是成员,但实际是另一个类的实例,你要使用他的函数,则B::b_func()即可.
class A
{void A();
B *b;
}
定义函数void A::A()
{b->B();
}
在Class B中有一个Public成员函数void B();
如果在函数A中想调用B函数,怎么处理???答案:
情形一:
class B
{
public:
void B()
{
// do somthing;
}}
class A
{
void A()
{
//先申明一个B对象
B b; //调用 class B的函数B;
b.B();
}
}情形二:
class B
{
public:
static void B()
{
// do somthing;
}
}class A
{
void A()
{
//直接调用 class B的静态函数B;
B::B();
}
}