C++ 类定义
打个比方,狗,这个物种就是类,我家的小狗名字叫花花,花花是狗的一种,我们就把花花称作类的对象,花花就是狗这个类数理化出来的对象。
#include<stdlib.h> #include<iostream> using namespace std; class Dog// class:关键字,Dog:类名 { char name[20]; int age; int type;// int:属性,type:数据成员 void speak();// 成员函数,或者说方法 void run(); }
定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。
类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。例如,我们使用关键字 class 定义 Box 数据类型,如下所示:
class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 };
关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 private 或 protected,这个我们稍后会进行讲解。
定义 C++ 对象
类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。下面的语句声明了类 Box 的两个对象:
Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box
对象 Box1 和 Box2 都有它们各自的数据成员。
访问数据成员
详细内容:https://www.cnblogs.com/chuijingjing/p/9245445.html
类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问。为了更好地理解这些概念,让我们尝试一下下面的实例:
#include <iostream> #include <stdlib.h> using namespace std; // 实例化一个类的对象 class Coordinate // 定义一个类 { public: // 访问限定符 int x; int y; void printX() { cout << x << endl; } void printY() { cout << y << endl; } }; int main(void) { // 栈的方式 Coordinate coor; // 定义在栈中的一个对象 coor.x = 10; // 访问数据成员或者成员函数 coor.y = 20; coor.printX(); coor.printY(); // 堆的方式 Coordinate *p = new Coordinate(); if(NULL == p) { // 申请内存失败 return 0; } p->x = 100; // 访问数据成员或者成员函数 p->y = 200; p->printX(); p->printY(); delete p; // 释放内存 p = NULL; system("pause"); return 0; }
需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。