What is the preferred way to read values of class members from an other class? For example: If class ClassA contains variables a,b,c, and ClassB contains a method that prints the values of a,b and c, how should an instance of ClassB that declares one instance of ClassA classA_Inst as one of it's members access the values of a, b and c from classA_Inst?
Code:
#include <iostream>
class ClassA
{
public:
int a,b,c;
}
class ClassB
{
private:
ClassA classA_Inst;
public:
void print_abc()
{
std::cout << classA_Inst.a << classA_Inst.b << classA_Inst.c << std::endl;
}
}
.........
ClassB classB_Inst;
classB_Inst.print_abc();
Or
Code:
#include <iostream>
class ClassA
{
private:
int a,b,c;
public:
int getA() return a;
int getB() return b;
int getC() return c;
}
class ClassB
{
private:
ClassA classA_Inst;
public:
void print_abc()
{
std::cout << classA_Inst.getA() << classA_Inst.getB() << classA_Inst.getC() << std::endl;
}
}
.........
ClassB classB_Inst;
classB_Inst.print_abc();
Or
Code:
#include <iostream>
class ClassB;
class ClassA
{
private:
int a,b,c;
public:
void getABC(ClassB* classB_ptr)
{
classB_ptr->copy_a = a;
classB_ptr->copy_b = b;
classB_ptr->copy_c = c;
}
}
class ClassB
{
private:
ClassA classA_Inst;
public:
int copy_a, copy_b, copy_c;
void print_abc()
{
classA_Inst.getABC( this );
std::cout << copy_a << copy_b << copy_c << std::endl;
}
}
.........
ClassB classB_Inst;
classB_Inst.print_abc();
Or have I missed something ? There must be some better ways to do that...