C++常用 *** 作

C++常用 *** 作,第1张

C++常用 *** 作
//一个类
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];//字符串流不需要打开关闭文件

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5659592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存