2016-10-01 60 views
-1

即使該類已被聲明爲朋友類,數據成員也無法訪問。錯誤:「總」在此範圍儘管該類已聲明爲朋友類,但數據成員無法訪問

#include <iostream> 
#include <iomanip> 
using namespace std; 

class Produce 
{ 
    private: 
     float total; 
    public: 
     Produce() 
     { 
      total=0; 
     } 
     friend class Bill; 
}; 
class Bill 
{ 
    private: 
     float grand_total; 
    public: 
    Bill() 
    { 
     grand_total=0; 
    } 
    Bill operator+=(const Produce &p) 
    { 
     return Bill(total+p.total); 
    } 
}; 

回答

1

的錯誤信息是正確的並沒有宣稱:有在當前範圍內沒有名字total。該代碼應參照grand_total,它是類別Bill的成員,該類別又定義了正在編寫的operator+=,或者它應該參考p.total來訪問作爲類別Produce的成員的total

0

製作類AB類的朋友,並不意味着你可以隨意的名字從AB非靜態成員,不點名的B一個實例來使用。

哪個Produce::total(可能無限)你想讓你的程序使用?

相關問題