#include <iostream>
class A {
public:
explicit A(int data = 0): data(data)
{
}
void show(const A &a) const
{
std::clog << a.data << '\n';
}
private:
int data;
};
class B {
public:
void cant_show(const A &a) const
{
std::clog << a.data << '\n';
}
};
int main()
{
A target(555);
A test_a;
B test_b;
test_a.show(target);
test_b.cant_show(target);
}