zoukankan      html  css  js  c++  java
  • 函数重载和运算符重载

    //函数重载
    ···
    #include <iostream>
    using namespace std;
    class printData
    {
    public:
     void print(int i)
     {
      cout << "整数为:" << i << endl;
     }
     void print(double f)
     {
      cout << "浮点数为:" << f << endl;
     }
     void print(char c[])
     {
      cout << "字符串为:" << c << endl;
     }
    };
    int main()
    {
     printData pd;
     pd.print(520);
     pd.print(520.521);
     char m[] = "Hello XF!";
     pd.print(m);
     return 0;
    }
    ···
     
    运算符重载
    ···
    #include <iostream>
    using namespace std;
    class Box
    {
    public:
     double getVolume(void)
     {
      return length * breadth * height;
     }
     void setLength(double len)
     {
      length = len;
     }
     void setBreadth(double bre)
     {
      breadth = bre;
     }
     void setHeight(double hei)
     {
      height = hei;
     }
     //重载+运算符,用于把两个Box对象相加
     Box operator+(const Box& b)
     {
      Box box;
      box.length = this->length + b.length;
      box.breadth = this->breadth + b.breadth;
      box.height = this->height + b.height;
      return box;
     }
    private:
     double length; //长度
     double breadth; //宽度
     double height; //深度
    };
    int main()
    {
     Box Box1;                // 声明 Box1,类型为 Box
     Box Box2;                // 声明 Box2,类型为 Box
     Box Box3;                // 声明 Box3,类型为 Box
     double volume = 0.0;     // 把体积存储在该变量中
     // Box1 详述
     Box1.setLength(6.0);
     Box1.setBreadth(7.0);
     Box1.setHeight(5.0);
     // Box2 详述
     Box2.setLength(12.0);
     Box2.setBreadth(13.0);
     Box2.setHeight(10.0);
     // Box1 的体积
     volume = Box1.getVolume();
     cout << "Volume of Box1 : " << volume << endl;
     // Box2 的体积
     volume = Box2.getVolume();
     cout << "Volume of Box2 : " << volume << endl;
     // 把两个对象相加,得到 Box3
     Box3 = Box1 + Box2;
     // Box3 的体积
     volume = Box3.getVolume();
     cout << "Volume of Box3 : " << volume << endl;
     return 0;
    }
    ···

    下面是不可重载的运算符列表:

    • .:成员访问运算符
    • .*, ->*:成员指针访问运算符
    • :::域运算符
    • sizeof:长度运算符
    • ?::条件运算符
    • #: 预处理符号
  • 相关阅读:
    DES加密、解密字符串算法(java版)
    浅谈Base64编码
    Flex 捕获摄像头拍照
    java 图片加密
    Flex 应用Remote与后台通信
    flex和后端的数据交互(一)--XML和HTTPService
    web软件业已成为传统软件业的掘墓人(转)
    MS AJAX类库的回调函数中不能使用window.open()
    客户端如何获取服务器控件的值(原理与实例)
    常用正则式收集(增加中)
  • 原文地址:https://www.cnblogs.com/TheFly/p/13851612.html
Copyright © 2011-2022 走看看