【问题标题】:Why are no get functions needed in assignment operator overloads?为什么赋值运算符重载中不需要 get 函数?
【发布时间】:2014-05-29 03:09:24
【问题描述】:

我只是好奇这是为什么。这仅仅是重载定义的神奇品质在两个对象的构成类中吗?我正在考虑这个问题,我觉得有点奇怪,一个函数可以访问两个对象的成员数据。

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];
    }
}

【问题讨论】:

    标签: c++ operator-overloading assignment-operator


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-27
        • 2019-01-01
        • 1970-01-01
        相关资源
        最近更新 更多