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

tech2023-08-09  128

#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(); }

测试结果:

 

附:

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

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

最新回复(0)