c++学习笔记(十):C++类和对象
来源:互联网 发布:网站美工要学什么 编辑:程序博客网 时间:2024/05/29 17:32
C++编程的主要目的,是面向对象添加到C的编程语言和C++中的类是核心功能,支持面向对象的编程和通常被称为用户定义的类型。
类是用来指定对象的形式,它结合了数据的表示和操纵数据成一个整齐的包装方法。一个类中的数据和函数的被称为类的成员。
C++类定义:
当定义一个类时,定义一个数据类型的蓝本。这实际上并不定义任何数据,但它确实定义什么类的名字的意思,即,什么类的对象将包括哪些操作可以对这样的对象来执行。
类定义以关键字class后跟类名称以及类体,由一对大括号封闭。类定义必须由分号或声明的列表执行。例如,我们用关键词class如下定义Box的数据类型:
class Box{ public: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box};
关键字public 决定它后面的类成员的访问属性。公共成员可以从类外部的类对象范围内的任何地方访问。还可以指定一个类的成员私人(private)或保护(protected),我们将在后面的小节中讨论。
定义C++对象:
类提供对象的图纸,所以基本上一个对象是从一个类创建的。我们声明一个类的对象具有排序完全相同的声明我们声明基本类型的变量。下面的语句声明Box类的两个对象:
Box Box1; // Declare Box1 of type BoxBox Box2; // Declare Box2 of type Box
两个对象Box1和Box2都有自己的数据成员的副本。
访问数据成员:
类对象的公共数据成员可以使用直接成员访问运算符(.)来访问。让我们试试下面的例子:
#include <iostream>using namespace std;class Box{ public: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box};int main( ){ Box Box1; // Declare Box1 of type Box Box Box2; // Declare Box2 of type Box double volume = 0.0; // Store the volume of a box here // box 1 specification Box1.height = 5.0; Box1.length = 6.0; Box1.breadth = 7.0; // box 2 specification Box2.height = 10.0; Box2.length = 12.0; Box2.breadth = 13.0; // volume of box 1 volume = Box1.height * Box1.length * Box1.breadth; cout << "Volume of Box1 : " << volume <<endl; // volume of box 2 volume = Box2.height * Box2.length * Box2.breadth; cout << "Volume of Box2 : " << volume <<endl; return 0;}
让我们编译和运行上面的程序,这将产生以下结果:
Volume of Box1 : 210Volume of Box2 : 1560
要注意的是私有(private)和受保护(protected)成员不能直接使用直接成员访问运算符(.)访问。We will learn how private and protected members can be accessed.
0 0
- O-C学习笔记,类和对象
- OBJ-C类和对象学习笔记
- C # 学习笔记十
- c语言学习笔记十
- Objective-C学习笔记2:类、对象和方法
- C++Primer学习笔记------对象和类(1)
- C++Primer学习笔记------对象和类(2)
- iOS学习笔记-Objective-C-类和对象
- Object-C学习笔记十-----内存管理
- C语言学习笔记(十)--指针
- c语言学习笔记二十
- C语言程序学习(十)笔记
- C学习笔记(十)位操作
- Objective-C学习笔记十:继承二
- 【C++】学习笔记十——指针
- 【C++】【学习笔记】【014】对象
- php学习笔记(十)对象和类
- c++学习笔记(十):C++类和对象
- android studio文档教程
- 页面跳转(无结果返回值)(内部监听类事件)
- 面试题46:求1+2+...+n
- 学习之前
- POJ 1328 Radar Installation(预处理贪心)
- c++学习笔记(十):C++类和对象
- Eclipse插件的两种安装方式
- 中断分层
- cf#363div2
- spark使用KryoRegistrator java代码示例
- DotSpatial如何加载GeoServer、谷歌 、百度、腾讯的WMS地图
- 盗版软件满天飞,禁不了但可止得住!
- OPEN窗口特性
- BootStrap 媒体对象