1 类
类可以没有成员,也可以定义多个成员,类的定义以分号结束,默认访问权限为private,结构体默认访问权限为public
2 构造函数
创建一个类,编译器为分配默认构造函数
构造函数初始化列表 A():a(0),b(1){};
3 成员函数
在类内部定义成员函数,默认为inline,
在const加在形参表之后,就可以将成员函数声明为常量
int a() const;
const成员不能改变所操作的对象的数据成员,必须出现在声明和定义中,否则报错
4 成员函数可被重载
两个重载的成员形参类型和数量不能完全相同
5 类的声明与定义
可以声明一个类,而不定义它
class A;
这个声明,成为前向声明,不能定义给对象,但可以定义指向该类型的指针和引用
只要类名出现,就表示声明了类类型
class A
{
B b;
A *a;
}
6 const
在普通的非const成员函数中,this类型是一个指向类类型的const指针,可以改变this所指向的值,但不能改变this指向的地址
,在const成员函数中,this的类型是一个指向const类类型对象的const指针,不能改变this指向的对象,也不能改变this所指向的地址
const doule *p 指向double类型const对象的指针,,一个改变p指向,但不能通过p修改指向对象的值
int *const p 指向int对象的const指针,不能改变p所指向的对象
7 在构造函数的初始化列表中,成员初始化的次序是按照成员定义的次序来的
8 友元函数 和 友元类
在定义类是前面加friend关键字
class Screen
{
friend class A;
}
A的成员可以直接引用Screen的私有成员
类可以没有成员,也可以定义多个成员,类的定义以分号结束,默认访问权限为private,结构体默认访问权限为public
2 构造函数
创建一个类,编译器为分配默认构造函数
构造函数初始化列表 A():a(0),b(1){};
3 成员函数
在类内部定义成员函数,默认为inline,
在const加在形参表之后,就可以将成员函数声明为常量
int a() const;
const成员不能改变所操作的对象的数据成员,必须出现在声明和定义中,否则报错
4 成员函数可被重载
两个重载的成员形参类型和数量不能完全相同
5 类的声明与定义
可以声明一个类,而不定义它
class A;
这个声明,成为前向声明,不能定义给对象,但可以定义指向该类型的指针和引用
只要类名出现,就表示声明了类类型
class A
{
B b;
A *a;
}
6 const
在普通的非const成员函数中,this类型是一个指向类类型的const指针,可以改变this所指向的值,但不能改变this指向的地址
,在const成员函数中,this的类型是一个指向const类类型对象的const指针,不能改变this指向的对象,也不能改变this所指向的地址
const doule *p 指向double类型const对象的指针,,一个改变p指向,但不能通过p修改指向对象的值
int *const p 指向int对象的const指针,不能改变p所指向的对象
7 在构造函数的初始化列表中,成员初始化的次序是按照成员定义的次序来的
8 友元函数 和 友元类
在定义类是前面加friend关键字
class Screen
{
friend class A;
}
A的成员可以直接引用Screen的私有成员