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:长度运算符
    • ?::条件运算符
    • #: 预处理符号
  • 相关阅读:
    rider中的gitbash如何从上次退出的目录启动
    docker swarm外部验证负载均衡时不生效
    css做一个可以变成关闭图标的菜单按钮
    mac外接键盘HOME,END键问题
    kubernetes实践录 使用Baget部署一个私有Nuget仓库
    C#中正确的实现IDisposable接口以释放非托管资源
    网络磁盘nfs使用笔记
    EFCore分组查询(GroupBy)后获取第一个元素
    Angular踩坑ExpressionChangedAfterItHasBeenCheckedError异常
    写了个适用于vscode的minio图床客户端插件 vscodeminiopicman
  • 原文地址:https://www.cnblogs.com/TheFly/p/13851612.html
Copyright © 2011-2022 走看看