I have two classes A and B. The control is inside one of the member functions of class A. The member function calculates a result and i now want to send this value to one of
After seeing your comment:
The compiler throws "No matching function call B::B()"
That means, there is no default constructor for class B
. In your implementation, B`s constructor must be taking parameter.
So either you add a default constructor to your class, or you pass the argument to your constructor when creating an instance of it.
Your second attempt:
int memberFunctionOfA()
{
... //results are stored in some temporary value, say temp
B obj;
obj.memberFunctionOfB(temp);
}
..., looks perfectly valid. We will need the definition of B to help further. B's definition should minimally have, assuming that the member function in B is non-static:
class B
{
public:
void memberFunctionOfB(const TypeOfTemp &temp);
};
// Later in class A's definition
class A
{
public:
int memberFunctionOfA()
{
... //results are stored in some temporary value, say temp
B b;
b.memberFunctionOfB(temp);
}
};
If the member function in B is static, then this should work:
class B
{
public:
static void memberFunctionOfB(const TypeOfTemp &temp);
};
...
class A
{
public:
int memberFunctionOfA()
{
... //results are stored in some temporary value, say temp
B::memberFunctionOfB(temp);
}
};