C++ 仿python式的print函数

使用运算符重载的技术,可以做到C++仿python式的print函数
示例如下:

#include<bits/stdc++.h>
#define print pt,
using namespace std;
class PRINT{
public:
  PRINT operator, (int n){
    printf("%d",n);
    return *this;
  }
  PRINT operator, (char c){
    printf("%c",c);
    return *this;
  }
  PRINT operator, (string s){
    printf("%s",s.c_str());
    return *this;
  }
  PRINT operator, (double f){
    printf("%f",f);
    return *this;
  }
}pt;
int main(){
  int a=100;
  print "a=",a,"\n" ;
  return 0;
}

说明:
1.使用重载逗号运算符来实现
2.每一个重载函数中,最后一句要有return *this;是为了下一个输出时候可以依然利用这个类
例如

print "a=",a ;

输出a=之后,第一个返回的依然是print,这样就解释成

print a ;

否则剩下的部分就不能正常输出。

posted @ 2022-01-20 14:32  计算机知识杂谈  阅读(317)  评论(0编辑  收藏  举报