类
我们知道,在C语言中struct将所有成员都默认为public权限,这很不安全。因此C++引进了功能与struct相同但更安全的数据类型——类。说明:
1.类声明中的访问限定符没有先后次序,通常将private放在后面,将public放在前面,方便了解类的可访问接口。
2.同一个类中,访问限定符出现次数没有限制。
3.数据成员和成员函数都可以设置为public、private、protected属性。
4.数据成员可以是任何数据类型,也可是一个类的对象或指向对象的指针、引用,但不能是自动(auto)、寄存器(register)和外部(extern)存储类型。
5.声明类时,不能为数据成员赋初值,因为此时还没有为其分配内存。
6.C++中的struct也是一种类,他与class具有相同功能,用法完全相同,唯一的区别是,没有指定成员的访问权限时,struct中的成员具有public权限,而class中的成员则具有private权限。
7. ::为全局作用域访问符。
类的封装
类的封装性可以从两方面认识:
1.类能够把数据和算法(操作数据的函数)组合在一起,构成一个不可分割的整体;
2.类具有信息隐藏的能力,能够有效的把类的内部数据隐藏起来,使外部函数只有通过类的公有成员才能访问类的内部数据。
封装使类成为一个具有内部数据的自我隐藏能力、功能独立的软件模块。
类的公有成员也称为类的接口,外部函数要访问类的内部成员,只有通过类的公有成员才能实现。