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 ;
否则剩下的部分就不能正常输出。