[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;
class myclass {
int a;
int b;
public:
myclass(int i, int j) {a = i; b = j;}
friend int sum(myclass x); //sum 是myclass类的友员
};
int sum(myclass x)
{
return x.a + x.b;
}
int main()
{
myclass n(3, 4);
cout << sum(n) << "\n";
return 0;
}
[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;
const int IDLE = 0; //屏幕上没有弹出消息标志
const int INUSE = 1; //屏幕上有弹出消息标志
class C2; //前向声明
class C1 {
int status;
public:
void set_status(int state);
friend int idle(C1 a, C2 b);
};
class C2 {
int status;
public:
void set_status(int state);
friend int idle(C1 a, C2 b);
};
void C1::set_status(int state)
{
status = state;
}
void C2::set_status(int state)
{
status = state;
}
//idle() 是类 C1 和 C2 的友员函数
int idle(C1 a, C2 b)
{
if (a.status || b.status) //如果屏幕上存在C1或C2弹出的消息则返回0
return 0;
else
return 1;
}
int main()
{
C1 x;
C2 y;
//屏幕此时可用
x.set_status(IDLE);
y.set_status(IDLE);
if (idle(x, y))
cout << "Screen can be used.\n";
else
cout << "Screen can not be used.\n";
x.set_status(INUSE); //表示C1对象弹出消息
if (idle(x, y))
cout << "Screen can be used.\n";
else
cout << "Screen can not be used.\n";
return 0;
}