次のクラスがあるとします。
class Test
{
int num;
public:
Test(int x):num(x){}
Test(const Test &rhs):num(rhs.num+1){}
};
int main()
{
Test test(10);
Test copy = test;
}
コピー内のnum
は である必要が11
あり、私の質問はコピー コンストラクター内に関するものです。コピー内のを初期化するためにusingのプライベート メンバーnum
にアクセスできるのはなぜですか? 私を混乱させているのは、 と入力すると、 private にアクセスしようとしているため、もちろん間違っていますが、コピーコンストラクターへの参照によってテストに合格した場合、それは機能します。 test
num
num
cout<<test.num<<endl
num