C++是面向对象的编程,类和对象是面向对象编程中两个最基础也是最重要的概念。
类用来描述一个对象(具体的事物)的组成,类包含属性和方法。
实际上C++中的类和C语言中的结构体有很多相似之处。
例子: 定义一个盒子类
class Box { // 类名 public: // 成员访问权限 // 成员 float length; // 盒子的长度 float Width; // 盒子的宽度 float height; // 盒子的高度 };有了上述的Box类,则可以用其定义对象,如;
Box box1; Box* box2;box1、box2都称为对象或实例。实际上对比C语言,Box就是一个类型,box1就是一个变量。只是,Box是我们自定义的类型。
成员,包括属性和方法;属性可以理解为类中的变量或对象、成员可以理解为函数。
例子: 定义一个体积方法
class Box { // 类名 public: // 成员访问权限 // 成员 float length; // 盒子的长度 float width; // 盒子的宽度 float height; // 盒子的高度 float theVolume() { // 盒子的体积方法 return length * width * height; } };以上定义方式为,在类中直接定义方法。
以下方式是,在勒种声明方法,在类外定义方法:
class Box { // 类名 public: // 成员访问权限 // 成员 float length; // 盒子的长度 float width; // 盒子的宽度 float height; // 盒子的高度 // 体积方法的声明 float theVolume(); }; // 体积方法的定义 注意加上Box:: float Box::theVolume() { return length * width * height; }调用:
cout << "box1的体积为:" << box1.theVolume() << endl; cout << "box2的体积为:" << box2->theVolume() << endl;本文示例代码