Computer.h
#pragma once
#include<string>
using namespace std;
class Computer
{
public:
Computer();
string description();
private:
string cpu;
//把外部的全局函数upgrade,声明为这个类的友元函数
friend void upgrade(Computer*computer);
};
Computer.cpp
#include "Computer.h"
#include<sstream>
Computer::Computer()
{
this->cpu = "i7";
}
string Computer::description()
{
stringstream ret;
ret << "CPU" << cpu;
return ret.str();
}
main.cpp
#include<iostream>
#include<Windows.h>
#include"Computer.h"
using namespace std;
void upgrade(Computer*computer)
{
computer->cpu = "i9";
}
int main()
{
Computer computer;
cout<<computer.description()<<endl;
upgrade(&computer);
cout<<computer.description()<<endl;
system("pause");
return 0;
}