Friend Function访问私有变量

时间:2014-01-08 15:10:20

标签: c++ friend-function

我写了一小段代码来测试朋友的功能。它适用于不属于特定类的方法,但是当我尝试将它放入一个类时,它可以访问的是公共变量(就像任何对象一样)。

#include <iostream>
#include <conio.h>
using namespace std;


class something{
    int ip = 100;
public:
    int x = 100;
    void getIP();
    friend void cIP::changeIP(something);
};

void something::getIP(){
    cout << ip << endl;
}

class cIP{
public:
    int i;
    cIP();
    cIP(int nIP);
    something some;
    void changeIP(something s);
};
cIP::cIP(){
    i = 100;
}
cIP::cIP(int nIP){
    i = nIP;
}
void cIP::changeIP(something s){
    s.ip = i;
}

s.ip显示错误成员无法访问。

0 个答案:

没有答案