繁体   English   中英

为什么赋值运算符重载中不需要get函数?

[英]Why are no get functions needed in assignment operator overloads?

我只是好奇为什么会这样。 仅仅是这两个对象都来自于类的重载定义的神奇品质吗? 我当时在想,一个函数可以访问两个对象的成员数据对我来说有点奇怪。

myClass& myClass::operator= (const myClass& a){
    // shallow copy
    arraySize = a.arraySize; // no get functions needed

    // deep copy
    theArray = new int[arraySize];    // no get functions needed
    for (int i = 0; i < arraySize; i++){
        theArray[i] = a.theArray[i];
    }
}

访问权限是基于类的,您在成员函数中使用的对象不会限制您的访问。

myClass可以访问myClass的成员。 访问不是基于实例,而是基于类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM