#include<iostream>usingnamespace std;voidfn1(){staticint n =0;
cout <<"fn1被调用!"<< endl;
n++;
cout <<"n的结果为:"<< n << endl
<< endl;}intmain(){for(int i =0; i <10; i++){fn1();}return0;}
3. 定义类X, Y, Z,函数h(X*),类X有私有成员i,Y的公有成员函数g(X*)是X的友元函数,实现对X的成员i加1;类Z是类X的友元类,其成员函数f(X*)实现对X的成员i加5;函数h(X*)是X的友元函数,实现对X的成员i加10。在一个文件中定义和实现类,在另一个文件中完成main()函数。
XYZ.h
#include"XYZ.h"X::X(int i):i(0)//构造函数{
cout <<"i的初值为"<< i << endl;}voidX::add(int num){
i += num;
cout <<"i = "<< i << endl;}voidY::g(X *a)//g(X*)实现对X的成员i加1{
a->add(1);}voidZ::f(X *a)//g(X*)实现对X的成员i加5{
a->add(5);}voidh(X *a){
a->add(10);}
XYZ.cpp
#include"XYZ.h"X::X(int i):i(0)//构造函数{
cout <<"i的初值为"<< i << endl;}voidX::add(int num){
i += num;
cout <<"i = "<< i << endl;}voidY::g(X *a)//g(X*)实现对X的成员i加1{
a->add(1);}voidZ::f(X *a)//g(X*)实现对X的成员i加5{
a->add(5);}voidh(X *a){
a->add(10);}
main.cpp
#include"XYZ.h"intmain(){
X x;
Y y;
Z z;h(&x);
y.g(&x);
z.f(&x);return0;}