xの値を変更することができません。
これは元々フレンドクラスから値を変更することができないのか、
何か記述忘れがあるのか、
それともclassBはまだ完全にclassAと友達になれていないのか、
教えてください。
OS:Windows10 コンパイラ:Visal Studio 2017
#include <iostream>
using namespace std;
class A {
private:
int x;
public:
A() : x(10) { }
void show_x() { cout << x << endl; }
void change_x(int num) { x = num; }
friend class B;
};
class B {
public:
void change_Ax(A name, int num) { name.x = num; }
void show_Ax(A name) { cout << name.x << endl; }
};
int main()
{
A test_a;
B test_b;
test_a.show_x();
test_b.change_Ax(test_a, 114514);
test_a.show_x();
test_a.change_x(1919);
test_b.show_Ax(test_a);
return 0;
}