#include <QCoreApplication>

#include <iostream>
class A{
public:
    A& operator << (char ch);
};

A& A::operator << (char ch)
{
    std::cout<<(int)ch<<std::endl;
    return *this;
}

template <class T>
 A& operator << (A& TempA, T Obj)
{
    char *p = (char*)(&Obj);

    for (int i = 0; i < sizeof(T); i++)
        TempA << p[i];

    return TempA;
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    A objA;
    short TestData = 0x201;
    float fData = 100.001f;
    objA << TestData;
    objA << fData;
    return a.exec();
}

测试结果:

c++类内 operator<<重载和 类外模板operator<<写法测试: 将short 和 float数据载入

 

附:

学有余力的童鞋可以拓展看下列详细文章(太长啦,反正我是没看完)。

https://www.cnblogs.com/yyxt/p/5085516.html

相关文章:

  • 2021-05-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-16
  • 2022-02-11
  • 2021-07-12
  • 2021-12-25
猜你喜欢
  • 2022-12-23
  • 2021-05-27
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-12
相关资源
相似解决方案