类的引入
在c语言中,有结构体(struct)的概念,并且在结构体内只能定义成员变量。而在C++中,结构体内不但能定义成员变量,还能定义成员函数。如下列代码
C++也兼容C语言中的结构体,但是在C++中,我们称之为类,也习惯用class代替struct
类的定义
class className
{
//类体,由成员变量和成员函数组成
};//注意结尾的分号
class为关键字,className为类名,{}中的内容为类的主体
类的声明方式
1.声明和定义全部放在类体中
需注意:成员函数如果
在类中定义
,编译器可能会将其当成
内
联函数
处理。
2.类声明放在.h文件中,成员函数定义放在.cpp文件中
.h文件
.cpp文件
需注意:成员函数名前需要加类名:: 类是一个域
成员变量命名建议
我们看下面代码,当我们想初始化一个变量时,我们把传进来的数据赋给成员变量,但是这样看着特别奇怪和别扭,而且结果也是赋值失败的。
我们需要养成好的命名习惯,在成员变量前加上一个_来区分成员变量和形参。
类的访问限定符
访问限定符有三种
【访问限定符说明】
1. public
修饰的成员在类外可以直接被访问
2. protected
和
private
修饰的成员在类外不能直接被访问
(
此处
protected
和
private
是类似的
)
3.
访问权限
作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4.
如果后面没有访问限定符,作用域就到
}
即类结束。
5. class
的默认访问权限为
private
,
struct
为
public(
因为
struct
要兼容
C)
注意:访问限定符只在编译时有用,当数据映射到内存后,没有任何访问限定符上的区别