#include<iostream.h> //这个代码很简单,这里只要知道在VC 6.0里面,要用这个头文件,不然编译通不过 //#include<iostream> //using namespace std; class IP { public: IP(int i=0,int j=0,int k=0,int m=0) { i=a; j=b; k=c; m=d; } friend istream& operator >> (istream &input,IP &h); friend ostream& operator << (ostream &output,IP &h); void print() { printt(a); cout<<"."; printt(b); cout<<"."; printt(c); cout<<"."; printt(d); cout<<'/n'; } void printt(int a) { int b=128; for(int i=1;i<=8;i++) //转换为八位二进制数 { cout<<a/b; a=a%b; b=b/2; } } private: int a; int b; int c; int d; }; istream& operator >> (istream &input,IP &h) { input>>h.a; input.ignore(); //读掉“.” input>>h.b; input.ignore(); //读掉“.” input>>h.c; input.ignore(); //读掉“.” input>>h.d; return input; } ostream& operator << (ostream& output,IP &h) { h.print(); //调用print() 函数,也可以在这里直接调用类中成员输出 return output; } int main() { IP ip; cin>>ip; cout<<ip; return 0; }
07
2010
12
C++输入输出重载中的问题(转换IP为二进制)
发布:pukuimin | 分类:linux/proc/c/c++ | 评论:0 | 浏览: