(1)类是一种复杂的数据类型,它是抽象数据类型的实现,是数据和相关操作的封装体。
类用来确定一类对象的形为,而这些行为是通过类的内部数据和操作来确定的。这些行为是通过一种操作接口来描述的。
(2)类的定义格式如下所示。

class <类名>
{
public:
<成员函数和数据成员的说明>
private://只有成员函数或者经过特殊说明的函数才可以访问
<数据成员和成员函数的说明>
};
<各成员函数的实现>

这里, class是关键字,<类名>同标识符。类的定义分两大部分:类的说明部分和类的实现部分。

(3)对象是类的一个实例,它是属于某个已知类的。对象实际上是客观实体的抽象,反映出客观实体的属性
4)对象定义格式如下所示
<类名><对象名>(<初值表>)
对象成员表示方法如下所示。
<对象名>.<成员名>(<参数表>)或者
<对象指针名>-><成员名>(<参数表>)
(5)构造函数是一种特殊的成员函数,它具有如下特点。
①构造函数是由系统自动调用来给对象进行初始化的
②构造函数的名字同类名,一个类的构造函数可以重载。
③构造函数在定义时不要指定类型。
⑤一个类中如果没有定义任何的构造函数,系统自动生成一个默认的构造函数
④构造函数可定义在类体内,也可定义在类体外。
(6)析构函数也是一种特殊的成员函数,它具有如下特点。
①析构函数是用来释放一个对象的。一般放况下,当一个对象的生存期结束时、系统自动调用析构函数将它释放
②析构函数名字也与类名相同,并且名字前面加符号~与构造函数区别。
③析构函数不需指出类型,并且没有参数。
④类中没有定义析构函数时,系统自动生成一个默认的析构函数。

(7)拷贝初始化构造函数是用一个已知对象来初始化一个被创建的同类的对象。拷贝初始化构造函数也是一种与类名同名的构造函数,定义时不指出类型,并有一个参数该参数是该类对象的引用。(如果类中没有说明拷贝初始化构造函数,则编译系统自动生成一个)(由一个对象初始化另一个对象,当对象作为函数实参传递给形参,当对象作为返回值时,调用拷贝初始化构造函数)

<类名>::<拷贝初始化构造函数名>(const <类名>&<引用名>)

(8)成员函数可以是内联函数也可以是外联函数,定义在类体内的成员函数为内联函数,定义在类体外前面加关键字inline的也是内联函数

(9)成员函数可以重载,也可以设置参数的默认值
(10)类中使用关键字 static修饰的成员为静态成员。静态成员包含有静态数据成员和静态成员函数。静态成员是属于整个类的,而不是某个对象的,是所有对象共享的。
(11)友元函数不是成员函数,但它被说明在类体内、并可以访问该类中的私有成员。友元函数是破坏封装性的,应尽量少用。
(12)友元类是指该类的成员函数为友元函数的一种特殊类(当一个类作为另一个类的友元时,这个类的所有成员函数都是另一个类的友元函数)。
(13)类的作用域一般是指该类的类体内,称为类域,某个类中某个成员在一定条件下具有该类的作用域。
(14)在一个函数体内定义的类称局部类。在一个类中定义的类称为嵌套类。嵌套类的成员函数不可以在它的类体外定义
(15)对象按其不同的生存期可分为如下几种:
①局部对象
②静态对象
③全局对象

最新文章

  1. ORM系列之二:EF(5) Model First
  2. iOS开发~CocoaPods使用详细说明
  3. IOS 作业项目(4)步步完成 画图 程序(剧终)
  4. 自定义颜色显示的CheckBox
  5. JavaEE5 Tutorial_Jsp,EL
  6. jQuery实现CheckBox全选、全不选
  7. WCF - Windows Service Hosting
  8. uva 140
  9. Unity中使用协程进行服务端数据验证手段
  10. 转Delphi中Memo显示行号列号
  11. Reinforcement Learning in R
  12. 初识RabbitMQ系列之三:.net 如何使用RabbitMQ
  13. Navicat 导出sql问题
  14. 客户端不能连接MySQL - 2003-Can't connect to MySQL server on '192.168.43.180'(10060 "Unknown error")
  15. restFul接口设计规范
  16. GBDT XGBOOST的区别与联系
  17. JavaScript中的shift()、unshift()和pop()函数
  18. windows_study_1
  19. 深度神经网络简述与Capsule介绍
  20. DM8168 IPNC Boa移植

热门文章

  1. Spark- Transformation实战
  2. jQuery学习(3)
  3. el表达式判断字符串相等
  4. C# WinForm开发DataGridView 使用
  5. 一个基于特征向量的近似网页去重算法——term用SVM人工提取训练,基于term的特征向量,倒排索引查询相似文档,同时利用cos计算相似度
  6. 验证reg注册表的操作
  7. JavaUtil_01_MD5加密
  8. windows 7下mingw+msys编译ffmpeg
  9. Nginx+ffmpeg的HLS开源服务器搭建配置及开发详
  10. 【LeetCode】080. Remove Duplicates from Sorted Array II