返回信息流class A {
public:
int get () {
return a;
}
void set (int a_) {
a=a_;
}
private :
int a;
};
class B {
问题:用什么办法可以让B类中的int b得到A类中int a 的值?
private :
int b;
};
void main () {
A aa;
aa.set(1);
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #7300同步于 2008/5/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教各位大牛一个c++类间参数赋值问题
kikilii
2008/5/23镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
在B类里象A那样写一个set函数,然后调用的时候把A.get()作为参数。。。
【 在 kikilii (kikilii) 的大作中提到: 】
: class A {
: public:
: int get () {
: ...................
代码就象下面的
#include <stdio.h>
class B;
class A {
public:
int get () {
return a;
}
void set (int a_) {
a=a_;
}
private :
int a;
friend void copyA2B(A& oa,B& ob);
};
class B {
private :
int b;
friend void copyA2B(A& oa,B& ob);
};
void copyA2B(A& oa,B& ob)
{
ob.b=oa.a;
printf("%d",ob.b);
}
void main () {
A aa;
aa.set(1);
B bb;
copyA2B(aa,bb);
}
何苦呢?直接
class B{
private:
int a;
public:
void set(int _a){a=_a;}
};
main()
{
A temp_a;
B temp_b;
temp_b.set(temp_a.get());
...
}
【 在 hokkien (我脱,我脱,我脱脱脱!) 的大作中提到: 】
: 代码就象下面的
: #include <stdio.h>
: class B;
: ...................
【 在 purevirtual 的大作中提到: 】
: 何苦呢?直接
: class B{
: private:
: ...................
呵呵,这个嘛,方法是多样的啦,你喜欢怎么做就怎么做啦,能得出结果就OK啦,对不??
倒也是,不过我感觉这就是一个get和set的问题,用friend function有些大材小用吧。。
还有,个人觉得friend也是应该限制使用的》。。
【 在 hokkien (我脱,我脱,我脱脱脱!) 的大作中提到: 】
: 呵呵,这个嘛,方法是多样的啦,你喜欢怎么做就怎么做啦,能得出结果就OK啦,对不??
【 在 purevirtual 的大作中提到: 】
: 倒也是,不过我感觉这就是一个get和set的问题,用friend function有些大材小用吧。。
: 还有,个人觉得friend也是应该限制使用的》。。
恩,有时候还地考虑代价,呵呵