friend function cann't access private data?
#ifndef BIGNUM_H
#define BIGNUM_H
#include <iostream>
using namespace std;
class bignum
{
public:
bignum(int i=40);
bignum(const bignum&);
~bignum();
bignum& operator = (const bignum& b);
void getinput(istream&);
private:
int* element;
int size;
int currentsize;
public:
//friend const bignum operator + (const bignum& b1,const bignum& b2);如果加上这句,有一个错误:fatal error 1001.why?
friend ostream& operator<<(ostream&,const bignum&);
friend istream& operator>>(istream&,bignum&);
friend const bignum operator*(const bignum& b1,const bignum& b2);
};
#endif
//bugnum.cpp
........
ostream& operator <<(ostream& out,const bignum& b)
{
for(int i=b.currentsize;i>0;i--)
out<<b.element[i-1];
return out;
}
.......
complier error:cann't access private data currentsize and element declare
in class bignum;
why?I use vc6.0,if i use bc,code is well.