C++ 类 & 对象
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。

类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。

C++ 类定义
定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。

类定义是以关键字 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 都有它们各自的数据成员。

访问数据成员
类的对象的公共数据成员可以使用直接成员访问运算符 . 来访问。

为了更好地理解这些概念,让我们尝试一下下面的实例:

实例

#include <iostream>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,类型为 BoxBox Box2;        // 声明 Box2,类型为 BoxBox Box3;        // 声明 Box3,类型为 Boxdouble 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 << "Box1 的体积:" << volume <<endl;// box 2 的体积volume = Box2.height * Box2.length * Box2.breadth;cout << "Box2 的体积:" << volume <<endl;// box 3 详述Box3.set(16.0, 8.0, 12.0); volume = Box3.get(); cout << "Box3 的体积:" << volume <<endl;return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Box1 的体积:210
Box2 的体积:1560
Box3 的体积:1536

需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。

C++基础教程之类与对象相关推荐

  1. Java基础教程-05-面向对象

    Java基础教程-05-面向对象 1. 面向过程和面向对象解释 1.1 面向过程 1.1.1 简述 我们回想一下, 前面我们完成一个需求的步骤是怎样的? 首先是搞清楚我们要做什么. 然后在分析怎么做. ...

  2. Scala基础教程--06--类与对象的详解

    Scala基础教程–06–类与对象的详解 章节目标 掌握类和对象的定义 掌握访问修饰符和构造器的用法 掌握main方法的实现形式 掌握伴生对象的使用 掌握定义工具类的案例 1. 类和对象 Scala是 ...

  3. sketch基础教程大全,对象、图层、画板常见技巧

    sketch对象.图层.画板的使用技巧 1.通过快捷键调整图形的形状 选择图形,按住Command按键,然后通过上.下.左.右方向键按1像素调整图形形状.同时按住按钮.CommandShift方向键, ...

  4. JavaScript基础教程之数学对象

    Write By Monkeyfly 以下内容均为原创,如需转载请注明出处. 数学对象(Math) 大纲: 数学对象简介 Math对象的属性 Math对象的方法 一.数学对象简介 Math对象与其他对 ...

  5. ASP.NET基础教程-DataTable类对象-属性方法和事件

    DataTable类对象可以表示表格,也可以在DataSet中存储多个DataTable对象. 该对象的属性方法和事件列表如下: 转载于:https://blog.51cto.com/chenxing ...

  6. 《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名...

    本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第2章,第2.1节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...

  7. 《ActionScript 3.0基础教程》——1.4 对象参数

    本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第1章,第1.4节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...

  8. javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用

    对象.类的定义与使用 对象与类是面向对象程序设计语言教学过程中不可避免需要讲解的内容之一.很多人将两者混为一谈,简单认为对象就是类,类就是对象.实际上深入分析的话,对象与类的区别还是较为明显的.本文主 ...

  9. DirectX12(D3D12)基础教程(四)——初识DirectXMath库、使用独立堆创建常量缓冲、理解管线状态对象、理解围栏同步

    目录 1.前言及本章内容提要 2.初识DirectXMath库 3.使用独立堆创建常量缓冲 4.理解管线状态对象 5.理解围栏同步 6.完整代码 1.前言及本章内容提要 经过了之前3篇教程的跨度有点大 ...

最新文章

  1. usaco Stringsobits
  2. FPGA详细芯片结构
  3. LeetCode Decode Ways
  4. 2018年的上半年目标之一:培养阅读的兴趣和爱好
  5. 函数调用规范__cdecl和__stdcall的区别
  6. 可变参数列表(va_list,va_arg,va_copy,va_start,va_end)
  7. 【Mybatis-Plus】(四)分页、乐观锁插件 通用枚举 多数据源
  8. 广域信息服务器,网络工程师之广域信息服务
  9. Dos下面删除文件秘笈
  10. 基于Docker布署伪分布式hadoop环境(一)
  11. JAVA中加密算法的简单使用入门
  12. adb使用-详细教程(Awesome Adb)
  13. 刘宇凡:让白茶陪你一起熬夜看世界杯
  14. XXL任务调度平台+java实现定时任务
  15. 李彦宏说百度吹的牛都实现了,还扔出来一个ACE计划
  16. rust服务器假人文件,最新武林最新GM命令大全(精睿提取) - Welcome to XiongTianQi.CN...
  17. Java面试题总结及答案总结
  18. 怎样制定自己的职业规划
  19. 存钱罐小程序_一罐来统治所有人
  20. CANalyzer及CANOE使用六:VH6501干扰仪的使用(busoff多种干扰/短路/采样点)

热门文章

  1. verilog状态机以及编码详解
  2. Vue.js 学习笔记 九 v-if和v-show
  3. 从数据类型 varchar 转换为 numeric 时出错.
  4. 组队训练3回放 ——hnqw1214
  5. javascript 函数与对象
  6. progressbar使用方法:进度画面大小,进度画面背景,进度百分比
  7. pytorch---之torch.manual_seed()
  8. 软件架构设计_架构师内功心法,软件架构设计的七大原则精选案例
  9. python求三个整数最大值_python 练习题:定义一个getMax()函数,返回三个数(从键盘输入的整数)中的最大值。...
  10. helloworld代码_十年架构师教你用最简单的代码实现Java基础编程—Hello World!