sinat_16985427 2015-09-20 04:06 采纳率: 0%
浏览 2806

cannot access private member declared in class

#include
using namespace std;
class Complex{
public:
friend ostream&operator << (ostream&,Complex&);//声明重载运算符<<
friend istream&operator >> (istream&,Complex&);//声明重载运算符>>
private:
double real;
double imag;
};
ostream& operator <<(ostream& output,Complex &c)//定义重载运算符<<函数
{
output<<"("< }
istream& operator >函数
{
cout<<"input real part and imaginary part of complex number:"
input>>c.real>>c.imag;
return input;
}
int main()
{
Complex c1,c2;
cin>>c1>>c2;
cout<<"c1="<<c1<<endl;
cout<<"c2="<<c2<<endl;
return 0;
}
vc下提示的错误

C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(305) : error C2248: 'real' : cannot access private member declared in class 'Complex'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(300) : see declaration of 'real'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(305) : error C2248: 'imag' : cannot access private member declared in class 'Complex'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(301) : see declaration of 'imag'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(310) : error C2146: syntax error : missing ';' before identifier 'input'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(310) : error C2248: 'real' : cannot access private member declared in class 'Complex'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(300) : see declaration of 'real'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(310) : error C2248: 'imag' : cannot access private member declared in class 'Complex'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(301) : see declaration of 'imag'
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(317) : error C2593: 'operator <<' is ambiguous
C:\Users\Administrator\Desktop\c++\运算符重载\main.cpp(318) : error C2593: 'operator <<' is ambiguous

  • 写回答

3条回答

  • Robot-C 2015-09-20 04:10
    关注

     
    用sort进行排序的时候遇到了这个错误,上网一搜,发现了原因所在。又学到东西了,真是庆幸至极。
     
     
    1>e:/program files/microsoft visual studio 9.0/vc/atlmfc/include/afxtempl.h(776) : error C2248: 'CObject::operator......
    答案就在这里:error C2248: 'CObject::operator =' : cannot access private member declared in class
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样