如果代码行中的运算符比较多,用括号确定表达式的操作顺序,避免 使用默认的优先级。
1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 //定义YourClass类, 6 class YourClass 7 { 8 //指定YourOtherClass是它的友元类 9 friend class YourOtherClass; 10 private: 11 int num; 12 public: 13 YourClass(int n){num=n;} 14 display(char *YCname){ 15 cout<<YCname<<".num :"; 16 cout<<num<<endl; 17 } 18 }; 19 //定义YourOtherClass,它是YourClass类的友元类 20 class YourOtherClass 21 { 22 public: 23 //使用YourClass类的私有成员 24 void disp1(YourClass yc,char *YCname){ 25 cout<<YCname<<".num :"; 26 cout<<yc.num<<endl; 27 } 28 //使用YourClass类的公共成员 29 void disp2(YourClass yc,char* YCname){ 30 yc.display(YCname); 31 } 32 }; 33 //在main()函数中创建和使用YourClass和YourOtherClass类对象 34 35 int main(int argc, char** argv) { 36 //声明YourClass类对象 37 YourClass a(10),b(100); 38 39 //显示a和b对象的值 40 cout<<"YourClass:"<<endl; 41 a.display("a"); 42 b.display("b"); 43 44 //声明YourOtherClass类对象 45 YourOtherClass temp; 46 47 //通过temp显示a和b对象的值 48 cout<<"YourOtherClass:"<<endl; 49 temp.disp1(a,"a"); 50 temp.disp2(b,"b"); 51 return 0; 52 }