如何在一个类中调用另一个类中的函数

sinlir 2008-10-17 05:09:46
如何在一个类中调用另一个类中的函数,而且这个函数内部引用本类的成员变量。如下:
class A
{
public:
void funcA()
{
funcB(); //调用类B的函数
}
};

Class B
{
public:
int m_a;

void funcB()
{
此函数中用到m_a成员变量;
}
};
...全文
816 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ok208043624 2008-10-17
  • 打赏
  • 举报
回复
在A类里创建一个B类的实例,再调用
这样不可以么??
Polaris 2008-10-17
  • 打赏
  • 举报
回复
不想改变已有类的话,那就采用类的继承来实现好了。
Polaris 2008-10-17
  • 打赏
  • 举报
回复
不想改变已有类的话,那就采用类的继承来实现好了。
once_and_again 2008-10-17
  • 打赏
  • 举报
回复
friend,
包含那个要被调用的类,
还有,继承那个类,
没了?
lyserver 2008-10-17
  • 打赏
  • 举报
回复
直接通过类名调用,传递一个参数即可,这时类就与命名空间一样,同时,调用完后,被调用的类会自动析构的。
nullah 2008-10-17
  • 打赏
  • 举报
回复
楼上的 函数只能通过类来调用吧
nullah 2008-10-17
  • 打赏
  • 举报
回复
楼上的 函数只能通过类来调用吧
xiao9900 2008-10-17
  • 打赏
  • 举报
回复


Class B ;

class A
{
public:
void funcA()
{
funcB(); //调用类B的函数
}
};

Class B
{
friend class a;

public:
int m_a;

void funcB()
{
此函数中用到m_a成员变量;
}
};


加了2句,不知道可以不
tianbianlan 2008-10-17
  • 打赏
  • 举报
回复
非类方法需要通过该类的实例调用;
类方法可以通过类名的直接调用;

xia438 2008-10-17
  • 打赏
  • 举报
回复
学习
yshuise 2008-10-17
  • 打赏
  • 举报
回复
Class B
{
public:
void funcB()
{

}
private:

int m_a;
};

class A
{
public:
A(const B* b):ptrB(b){}
void funcA()
{
b->funcB();
}
private:
B* ptrB;
};

三文鱼也会飞 2008-10-17
  • 打赏
  • 举报
回复
class B
{
public:
int m_a;
void fun(void)
{
m_a = 1;
}
};

class A
{
public:
B b;
void fun(void)
{
b.fun();
}
};
sinlir 2008-10-17
  • 打赏
  • 举报
回复
用些比较好的设计

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧