朋友类声明

时间:2013-02-05 04:49:40

标签: c++ class friend-class

我是c ++编程的新手,我们可以将一些类的成员声明为其他类的朋友。这意味着让我们说A类有三个成员函数而不是宣布全班作为其他B类的朋友(比方说)我可以宣布A类中只有一个成为B类的朋友,所以请帮忙。

5 个答案:

答案 0 :(得分:2)

是:

class A
{
    public:
        void func_1();
        void func_2();
        void func_3();
};

class B
{
    friend void A::fund_2();
    void plop(); // only A::func_2() can call this function
};

答案 1 :(得分:1)

在朋友类的声明中,朋友类的所有成员函数成为声明朋友类的类的朋友。 source

答案 2 :(得分:1)

是的,您可以将单个成员函数声明为另一个类的朋友 的 Online Sample

#include<iostream>
class Myclass;
class Otherclass
{
    public:
      void doSomething(Myclass &obj);

};
class Myclass
{
    int i;
    friend void Otherclass::doSomething(Myclass &obj);
};
void Otherclass::doSomething(Myclass &obj)
{
    obj.i = 10;
    std::cout<<obj.i;
}


int main()
{
    Myclass obj;
    Otherclass obj2;
    obj2.doSomething(obj);
    return 0;
}

答案 3 :(得分:1)

不要对你很苛刻,但通过谷歌搜索“c ++朋友类功能”看看我发现的东西:

Friend Functions And Classes

......还有200多个。

答案 4 :(得分:-1)

举个例子,问维基(他们知道一切):

http://en.wikipedia.org/wiki/Friend_function

或进行基本搜索...