关于串口接收数据调用的有关问题

关于串口接收数据调用的问题
#include <iostream>
using namespace std;
class A
{
public:
A();
int a;
void setvalue(int i);
};
A::A(){a=0;}
void A::setvalue(int i)
{
a=i;
}
class B
{
public:
B();
int b;
void setvalueb();
};
B::B(){}
void B::setvalueb()
{
A m_a;
m_a.setvalue(5);
}
void main()
{
A m_a1;
cout<<m_a1.a<<endl;

}
这个输出的是0,怎么才能获得类B给赋的值5
这个是和我做的串口类类似的,串口类的一个对象接收到了数据
然后在另一个类中怎么调出这个数据


------解决方案--------------------
void B::setvalueb(A &m_a)
{
m_a.setvalue(5); 
}

然后

A m_a1;
B m_b1;
m_b1.setvalue(m_a1); 

cout<<m_a1.a<<endl;