zoukankan      html  css  js  c++  java
  • Qt 使用qDebug() 打印Qlist 容器数据(将QDebug()定义成某个类的友元函数)

    当QList<T>容器中的数据用qDebug() 打印时 ,假如 T 是内置类型(int  float ...)与 打印一个字符串使用完全一样,假如T 是一个CustomerClass 那么就得重载该类的<< 运算符。
    有这样一个 LogLat 类定义如下
    class LogLat
    {
    
    
      ///[1]不可以将operator<< 定义为成员函数,应该将其声明为友元函数
    
    
       friend QDebug& operator<<(QDebug &debug, const LogLat &obj); 
    
    
    
    
    
    
    public:
        LogLat(double log=0.0, double lat=0.0);
    
    
    
    
    private:
    
    
        double log;
        double lat;
    };
    
    
    
    
    ///[2]实现如下
    
    
    QDebug& operator<<(QDebug& debug, const LogLat &obj) {
        debug << QString("[%1, %2]").arg(obj.log).arg(obj.lat);
        return debug;
    }
    
    
    ///[3]测试如下
    QList<LogLat> ls;
    ls << LogLat(40.5, 90.89) << LogLat(40.5, 2.3)<< LogLat(50.5, 64.9);
    
    
    qDebug() << ls;

    https://blog.csdn.net/ypy9323/article/details/78328362

    
    
  • 相关阅读:
    第九周作业
    第八周
    第七周
    Jmeter连接到Mysql
    数据库常用链接URL写法
    功能测试方法
    常建输入框的测试
    系统业务流程测试(转)
    Linux
    搭建Git服务器
  • 原文地址:https://www.cnblogs.com/findumars/p/8883733.html
Copyright © 2011-2022 走看看