//一个类 class Class_one { int num; char name[20]; void display() {....} }; Class_one stu1,studh2; //指定访问属性(默认为私有) class Ex_class { private: int sum; public: char a[]; }; //类外定义函数 void Ex_class::display() {....} //定义内置函数,类内默认为内置函数 inline void display(); //访问对象内的成员 stu1.display(); stu1.num; Class_one *p; p=&stu1; p->num; //默认参数,声明时使用,定义时不必 void set(Class_one&,int a=1;int b=2); //类的初始化 class Ex_class { a; b; }; Ex_class one{1,2};//公有时才能用 class Ex_class { Ex_class()//构造函数 { a=b=0; } }; class Ex_class { Ex_class(); }; Ex_class::Ex_class()//类外定义,无类型,无法被用户调用 { a=b=0; } class Ex_class { Ex_class(int,int); }; Ex_class::Ex_class(int m,int n)//带参数的构造函数 { a=m,b=n; } Ex_class one(1,2); Ex_class(int n,int m,nam[]):a(n),b(m)//初始化表 { strcpy(name,nam); } Ex_class one(1,2,"oo"); //析构函数 class Ex_class { ~Ex_class() {....} }; //对象数组 Ex_class sum[3]={1,2,3}//每个对象只有一个参数 Ex_class sum[3]={ Ex_class(1,2); Ex_class(1,2); Ex_class(1,2); }; //定义一个指向公用成员函数的指针 void Ex_class::*(p2()); p2=&Ex_class::display(); //常对象、常数据、常成员函数、指向对象的常指针、指向常变量的常指针、指向常对象的指针 const Ex_class stu1; const int a; void display()const; Ex_class*const p; const int *p; const Ex_class *p; //使得const成员函数可以修改 mutable int count; //对象的引用(虚实结合,能修改实参)、常引用 void display(Ex_class &t); void display(const Ex_class &t); //对象的动态建立和释放 new Box; Box *pt=new Box(1,2); delete pt; //对象的赋值与复制 Ex_class stu1,stu2; stu1=stu2; Box box2(box1);//调用复制构造函数 Box box2=box1; //静态数据成员:可以初始化,但只能在类外;程序结束时释放空间 static int a; //静态成员函数 static int display(); Ex_class::display();//类外调用必须带::没有this指针 //友元函数:能直接调用类里的私有函数(可以是其他类的成员函数) class Ex_class { friend void display(Ex_class&); }; void display(Ex_class oneclass) { } //友元类,在类A里定义使得B的成员函数都是A的成员函数 friend B; //类模板 template//定义一个模板虚拟类型名为numtype class Compare { compare(numtype a,numtype b) {....} numtype m() {....};//如果在类外定义:numtype Compare ::m(); }; compare cmpl(3,4); template //可定义多个 class someclass {....} someclass obj; //运算符重载 Ex_class operator+(Ex_class &c1,Ex_class &c2)//类内定义 {...} Ex_class Ex_class::operator+(Ex_class &c1,Ex_class &c2)//类外定义 {...} friend Ex_class operator+(Ex_class &c1,Ex_class &c2);//作为友元函数声明 Ex_class operator+(Ex_class &c1,Ex_class &c2)//作为友元函数定义 {...} //<<,>>运算符的重载 istream&operator>>(istream&,oneclass&) { input>>p.x>>p.y; return input; } ostream&operator<<(ostream&,oneclass&) { output<<"("< ofstream outfile; outfile.open("f1.dat",ios::out);//向磁盘文件输出数据 outfile.close(); //ascii读写 #include ofstream outfile("f1.dat",ios::out); ifstream infile(filename,ios::in|ios::nocreate); infile.close(); //二进制文件读写 #include ofstream outfile("f1.dat",ios::binary); outfile.write((char*)&stud[i],sizeof(stud[i])); outfile.close(); //字符串流对象 #include ostrstream strout(c,30);//建立输出字符串流,与c关联,缓冲区长30 strout<<"hjyu"; strout< >a[i];//字符串流不需要打开关闭文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)