出了个问题不知道是怎么回事
#include<iostream>#include<string>
using namespace std;
//第一个类开始
class shen_stock{
int general, ST, PT;
public:
shen_stock(int general = 0, int ST=0, int PT = 0);
friend void count( const shen_stock &a, const shang_stock &b);
};
shen_stock::shen_stock(int g, int s, int p){
general = g;
ST = s;
PT = p;
}
//第二个类开始
class shang_stock{
int general, ST, PT;
public:
shang_stock(int general = 0, int ST = 0, int PT = 0);
friend void count( const shen_stock&a, const shang_stock&b);
};
shang_stock::shang_stock(int g, int s, int p){
general = g;
ST = s;
PT = p;
}
//count函数的定义
void count(const shen_stock&a, const shang_stock&b){
cout << a.general + b.general << endl;
}
int main(){
return 0;
}
就是我把count函数都声明为两个类的友元,但是定义count时只能访问第二个类的私有数据,但是无法访问第一个类的私有数据,也就是最后 cout << a.general + b.general << endl;这条语句中a.general是错的,但是b.general却是对的