
知识点:类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员
下面具体实现过程:
一 总公司类
class HeadOffice
{
public:
friend void total(HeadOffice ho);
void setBudget(int bg);
private:
int budget;
};
二 子公司类
class Subsidiary
{
public:
friend void total(Subsidiary sb);
void setBudget(int bg);
private:
int budget;
};
三 总公司的设置预算额
void HeadOffice::setBudget(int bg)
{
this->budget = bg;
}
四 总公司的友元函数total,实现计算总公司的总预算
void total(HeadOffice ho)
{
cout << "总公司预算额:"<<ho.budget;
}
五 子公司的设置预算额
void Subsidiary::setBudget(int bg)
{
this->budget = bg;
}
六 子公司的友元函数total实现计算子公司的总预算
void total(Subsidiary sb)
{
cout << "子公司预算额:" << sb.budget;
}
七 主函数调用
int main()
{
HeadOffice ho;
Subsidiary sb;
int bg;
cin >> bg;
ho.setBudget(bg);
cin >> bg;
sb.setBudget(bg);
total(ho);
cout << "\n";
total(sb);
}
运行结果