c++学习总结2之类的使用

c++学习总结2
这次总结主要是关于类的定义以及如何使用类;
类其实与结构体有相似之处,无非就是结构体加上了封装性使得数据成员有了私有化比如说这个样:
struct x
{private:
int a;
int b;
};但是一直用这种限定词会使得这个结构体过于复杂,所以有了类这个东西class这就是类,类里面未声明的默认是私有的是不能被类外随便调用的,所以需要用到构造函数的形式来调用私有成员,我们还可以通过指针的形式来对类里面的公有成员进行访问,可以构造访问私有成员的函数再通过指针访问这个构造函数然后实现指针访问私有成员的功能,其实指针这种东西不再建议使用了;
类的定义:
class 类的名字一般首字母大写
{
int a;
int b;
public:
…………};这种形式,另外还有访问限制符public公共,private私有,protected被保护(既共又私)
this指针;
对于这个类(摘自一篇博客用来学习)
class Point
{public:
int x;
int y;
Point(int a,int b){x=a;y=b;}
void output()//output函数{cout<<x<<endl<<y<<endl;}
void output(int x,int y)
{x=x;y=y;}
};
void main()
{
Point pt(3,3);
pt.output(5,5);
}
输出为:3
如果把void改成void output(int x,int y)
{
this->x=x;
this->y=y;
}
他就会输出
5;
访问器与修改器
就是构造一个公有类内函数来对私有成员进行访问,
友元:
class X
{
int i;
public:
friend void g(X*,int);//整个类的友元
friend void h();
};
void g(X*x,int i){x->i=i;}
void h(){X x;
x.i=100;}
大体就是这样使用。
类外声明函数:
class X
{
int a;
public:
void input();
}
void X::input()
{内容};
构造函数:
class X
{ int a;int b;
int c,d;
public:
X(int x,int y):a(x),b(y);{};//通过构造函数对私有成员进行初始化;
X(int ,int ):
}
X::X(int h,int w):c(h),d(w);{}
委托构造函数;
public:
X(int aa,int bb,int cc):a(aa),b(bb),c(cc){ }//构造函数
X(int aa,int bb):X(aa,bb,0)//委托构造函数;
{}
委托函数又能进一步交给别的函数委托;
析构函数:
class X
{
X();当类生成时需要做哪些操作;
~X();//类内先声明一下,表示类消失时需要干什么;
}
X::~X(){
具体操作
}
const数据成员
const X b();
b.get();//这样正确;
b.set(10);这样的类不能被修改所以是错的;
static成员
static int count;
这是全局变量就是整个类都可以进行访问,
class Object{
static int count;
friend void func(Object&obj);
};
void func(Object&obj)
{
cout<<obj.count;
cout<<Object::count;
}
就是这样使用;
指向成员的指针:
class X
{int a;
}
X p;
*sp=&p;
sp->a;
p.a;
这次的学习总结也就这么写了;-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值