C++ 友元

#include<iostream>
#include<string>
using namespace std;
class Sales_item;//前置申明,让Test识别Sales_item
class Test
{
public:
    void GetName(Sales_item &item);

    std::string TestName;
};

class Sales_item
{
    friend void Test::GetName(Sales_item &item);
    //freind class Test;的话Test任何方法都能访问
public:
    Sales_item(const std::string &book)
        :bookName(book){}
    std::string GetBookName() const
    {
        return bookName;
    }
private:
    std::string bookName;
};

void Test::GetName(Sales_item &item)//必须放友元申明之后
{
    cout<<item.bookName<<endl;;
}

int main()
{
    Sales_item item1="bookName1";
    Test t;
    t.GetName(item1);

}

原文链接: https://www.cnblogs.com/FlyCat/archive/2012/12/26/2834198.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/73615

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午4:01
下一篇 2023年2月9日 下午4:01

相关推荐