面向对象
C++ 在 C 语言的基础上增加了面向对象编程。
类
类是 C++ 的核心特性,通常被称为用户定义的类型。
类用于指定对象的形式,是一种用户自定义的数据类型,它是一种封装了数据和函数的组合。类中的数据称为成员变量,函数称为成员函数。
类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。
定义类
定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。
定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。
以下实例我们使用关键字 class 定义 Box 数据类型,包含了三个成员变量 length、breadth 和 height:
class Box{ public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度};
成员
关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 private 或 protected,这个我们稍后会进行讲解。
对象
类提供了对象的蓝图,所以基本上,对象是根据类来创建的。
声明类的对象,就像声明基本类型的变量一样。下面的语句声明了类 Box 的两个对象:
Box Box1; // 声明 Box1,类型为 BoxBox Box2; // 声明 Box2,类型为 Box
对象 Box1 和 Box2 都有它们各自的数据成员。
类的对象的公共数据成员可以使用直接成员访问运算符 . “点”来访问。
为了更好地理解这些概念,让我们尝试一下下面的实例:
#include using namespace std; class Box{ public: double length; // 长度 double breadth; // 宽度 double height; // 高度 // 成员函数声明 double get(void); void set( double len, double bre, double hei );};// 成员函数定义double Box::get(void){ return length * breadth * height;} void Box::set( double len, double bre, double hei){ length = len; breadth = bre; height = hei;}int main( ){ Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box Box Box3; // 声明 Box3,类型为 Box double volume = 0.0; // 用于存储体积 // box 1 详述 Box1.height = 5.0; Box1.length = 6.0; Box1.breadth = 7.0; // box 2 详述 Box2.height = 10.0; Box2.length = 12.0; Box2.breadth = 13.0; // box 1 的体积 volume = Box1.height * Box1.length * Box1.breadth; cout // box 2 的体积 volume = Box2.height * Box2.length * Box2.breadth; cout // box 3 详述 Box3.set(16.0, 8.0, 12.0); volume = Box3.get(); cout return 0;}
当上面的代码被编译和执行时,它会产生下列结果:
Box1 的体积:210Box2 的体积:1560Box3 的体积:1536
需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。
领取专属 10元无门槛券
私享最新 技术干货