zoukankan      html  css  js  c++  java
  • 不要编写太复杂的复合表达式

    不要编写太复杂的复合表达式。

    例如: i = a >= b && c < d && c + f <= g + h ; // 复合表达式过于复杂

     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 //Y类的不完全定义
     6 class Y;
     7 
     8 //X类的定义    
     9 class X {   
    10 public:
    11     void disp(Y py,char *name);   //成员函数原型
    12 };
    13 
    14 //定义Y类
    15 class Y {  
    16     //声明本类的友元函数
    17     //X类的disp()为本例的友元函数
    18     friend void X::disp(Y py,char *name);
    19      //普通函数putY() 为本例的友元函数
    20     friend void putY(Y& yc,char *name);         
    21 private: //私有成员
    22     int num;
    23     dispY(char *name){    
    24         cout<<name<<".num="<<num<<endl;
    25     }
    26 public: //公共成员函数
    27     Y(int n){  
    28        num=n;
    29     }
    30 };
    31 
    32 //X类成员函数的实现部分
    33 void X::disp(Y py,char *name){
    34     cout<<"In X::disp():"<<endl;
    35     py.dispY(name);   //访问Y类的私有函数
    36 }
    37 
    38 //普通函数putY()的定义
    39 void putY(Y& yc,char *name){
    40     cout<<"In getY:"<<endl;
    41     yc.dispY(name);
    42     cout<<name<<".num=";
    43     cout<<yc.num<<endl;
    44 }
    45 
    46 //在main()函数测试X和Y类的功能
    47 
    48 int main(int argc, char** argv) {
    49         //创建Y和X类的对象
    50     Y y1(100),y2(200);
    51     X x;
    52 
    53     //不可用Y类对象的私有成员函数显示
    54     //y1.dispY("y1");
    55     //y2.dispY("y2");
    56 
    57     //调用X类对象的友元函数显示
    58     x.disp(y1,"y1");
    59     x.disp(y2,"y2");
    60 
    61     //用getY函数显示Y类的对象显示
    62     putY(y1,"y1");
    63     putY(y2,"y2");
    64     return 0;
    65 }
  • 相关阅读:
    JZ5 替换空格
    数学分析 H 1 复习要点(部分)
    算法贪心
    Python之位运算
    sorted复杂排序cmp_to_key
    算法位运算
    Python3新特性总结 持续更新
    算法树
    H5 ios端微信浏览器下底部工具固定方法
    Eclipse 安装windows10环境
  • 原文地址:https://www.cnblogs.com/borter/p/9413456.html
Copyright © 2011-2022 走看看