求教大神c++大神,怎么在类里添加一个成员函数

求助!如何使一个类的成员函数可以触发另一个类的成员函数【c++吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:301,539贴子:
求助!如何使一个类的成员函数可以触发另一个类的成员函数收藏
C++进行类设计时,希望一个类的成员函数可以触发另一个类的成员函数,应该怎么做呢?意思就是假设有类A中的函数func1(),类B中的函数func2(),希望当A的对象执行func1()时,可以触发类B的对象执行func2()要怎样实现呢??各位大神帮帮我。
对哪个对象执行fun2?
在类B里定义一个类A的对象
将f1设置成类B的友元函数
这种东西光这么问没啥用,具体解决方案还是要根据你具体需求的上下文来分析
a中保存b的指针即可
保存指针,或者reference或者用发射信号
在调用类中保存被调用类指针,然后p-&调用函数就行了,或者静态函数直接b::fun2
void B::func2() { }void A::func1(B & objB) { objB.func2(); }类似这样?
如果fun2是原子的,可以在A类中定义一个flag,加上锁,flag初始为false,在fun1中增加设置flag为true,将B类设为A类的友元类,或直接将相关操作flag函数设为public。在B类的构造函数中建一个线程,循环判断A的flag是否为true,为true则执行fun2。
func1(B & b…){
b.func2()}
谢谢大家的帮助最后根据吧友意见,用容器把指针存下来了,成功了。
登录百度帐号已解决问题
C++如何在一个类的成员函数中调用另一个类的成员函数
浏览次数:13982
用手机阿里扫一扫
最满意答案
该答案已经被保护
假设你想在类A里调用类B的函数int&f(x),两种办法:1、class&A::B&也就是说将B定义为A的父类,&这样你就可以自然的在A里面用f(x)了2、class&A{B&B_int&g(x);}int&g(x){return&B_ins.f(x)}也就是说你可以在A里面使用一个B的对象作为成员变量,这样就可以用他的函数了
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok20:13 提问
新手求教,mfc怎么在一个类下面添加类
如图,怎么在CDepart下面建那另外两个类,
点右键后如图二,但是不知道怎么接着做
新手没有c币可以悬赏,求大神教一下
按赞数排序
在类视图(Class View)中右键点击工程名,如下图:
然后如下图,添加新类:
如下图中输入类名,注意不要选择基类,即可添加题目中要求的类。
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
MFC每次执行的时候,都要加载符号,有没有好的解决办法,或者说只有我遇到了?
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐C++ 基础 不能在一个类中定义另一个类的成员函数
&span style=&font-size:18&&&/span& &
//============================================================================
// Name & & & &: 11.cpp
// Author & & &: zhaoming
// Version & & :
// Copyright & : copyright to zhaoming
// Description : Hello World in C++, Ansi-style
//============================================================================
#include &iostream&
class INTSET; &//不完整声明或前向声明
class REALSET{
REALSET(INTSET &s);
~REALSET(){
class INTSET{
int *elems,card,
//注意:不能在一个类的内部定义另一个类的成员函数,但可以声明
* 课本上是这样写的
* friend double REALSET::REALSET(INTSET &s)//自动成为inline函数
//本函数声明为INTSET的友元后,可直接访问INTSET的成员
elems = new float[maxcard = s.maxcard];
for(int i = 0; i & i++){
elems[i] = s.elems[i];
friend &REALSET::REALSET(INTSET &s);//自动成为inline函数
INTSET(int maxcard);
~INTSET(){
int getcard(){
int getelems(int i){
return elems[i];
REALSET::REALSET(INTSET &s)
//本函数声明为INTSET的友元后,可直接访问INTSET的成员
elems = new float[maxcard = s.maxcard];
for(int i = 0; i & i++){
elems[i] = s.elems[i];
INTSET::INTSET(int max){
elems = new int[maxcard = max];
int main()
INTSET iset(20);
REALSET rset(iset);

我要回帖

更多关于 求教大神 的文章

 

随机推荐