Confusion with copy constructor and private member

前端 未结 3 393
猫巷女王i
猫巷女王i 2021-01-25 15:51

Suppose I have the following class:

class Test
{
             int num;
     public:
             Test(int x):num(x){}
             Test(const Test &rhs):num(         


        
3条回答
  •  有刺的猬
    2021-01-25 16:32

    private doesn't mean private to the object instance. It means private to that class. An instance of a class T can access private members of other instances T. Similarly, a static method in a class T can access private members of instances of T.

    If private restricted access to only the individual instance, it would make objects non-copyable, since as you pointed out, the copy constructor would not be able to read data from the original instance.

提交回复
热议问题