一:如何在一个全局函数B中访问一个类A中的私有成员?
回答:在类A中定义一个友元函数B。
二 代码举例:
#include<iostream>
#include<windows.h>
class Player{
private :
int m_id;
int m_cardnumber;
friend void change_cardnumber(Player * player, int cardnumber);//定义友元函数函数:change_cardnumber(也可以定义成public成员)
public :
Player (int id , int cardnumber){
m_id = id;
m_cardnumber = cardnumber;
}
void show_cardnubmer(){
std::cout<<m_cardnumber<<"\n";
}
};
void change_cardnumber(Player * player, int cardnumber){
player->m_cardnumber = cardnumber; //在友元函数change_cardnumber中可以访问类Player中的私有成员m_cardnumber
}
void main(){
Player * player = new Player(101,10);
player->show_cardnubmer();
change_cardnumber(player,20);
player->show_cardnubmer();
delete player;
system("pause");
}