友元类和友元函数相似,就是把多个功能写成一个类,然后再声明成友元类
也很简单,就是写一个类,然后再另一个类里声明成友元类
friend class computerServe;
#include <iostream>
#include <string>
#include <sstream>
//友元类
//设一个维护计算机的类
class computer;
class computerServe
{
public:
void upgrade(computer* computer);//升级
void clear(computer* computer);//清理
void kill(computer* computer);//杀毒
void fix(computer* computer);//修复
private:
std::string CPU;
};
class computer
{
public:
computer();
std::string description();
friend class computerServe;
private:
std::string CPU;
};
computer::computer()
{
this->CPU = "i7";
}
std::string computer:: description() {
std::stringstream ret;
ret << "CPU:" << CPU;
return ret.str();
}
void computerServe::upgrade(computer *computer) {
computer->CPU = "i9";
}
void computerServe::clear(computer* computer) {
std::cout << "正在清理垃圾...[CPU:" <<computer->CPU<<"]"<< std::endl;
}
void computerServe::fix(computer* computer) {
std::cout << "正在修复...[CPU:" << computer->CPU << "]" << std::endl;
}
void computerServe::kill(computer* computer) {
std::cout << "正在杀毒...[CPU:" << computer->CPU << "]" << std::endl;
}
int main() {
computer com;
computerServe serve;
std::cout << com.description() << std::endl;
serve.upgrade(&com);
serve.clear(&com);
serve.fix(&com);
serve.kill(&com);
std::cout<<com.description()<<std::endl;
system("pause");
return 0;
}