抽象

是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程
数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)
int Hour , int Minute , int Second
代码抽象:描述某类对象的共有的行为特征或具有的功能
SetTime( ) , ShowTime( )
抽象的实现:通过类的声明

将抽象出的数据成员、代码成员相结合,将它们视为一个整体。
目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。
实现封装:类声明中的{}

是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。
利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。
类是一种用户自定义类型,声明形式:
class 类名称
{
public:
公有成员(外部接口)
private:
私有成员
protected:
保护型成员
};

公有类型成员
在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。
私有类型成员
在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。
如果紧跟在类名称的后面声明私有成员,则关键字private可以省略:
class Clock
{ int Hour,Minute,Second;
public:void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
};
成员数据
与一般的变量声明相同,但需要将它放在类的声明体中。
成员函数
在类中说明原型,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。
允许声明重载函数和带默认形参值的函数。
内联成员函数
1.为了提高运行时的效率,对于较简单的函数可以声明为内联形式。
2.内联函数体中不要有复杂结构(如循环语句和switch语句)。
3.在类中声明内联成员函数的方式:
将函数体放在类的声明中
使用inline关键字

对象

类的对象是该类的某一特定实体,即类类型的变量。
声明形式: 类名 对象名;
例:Clock myClock;
类中成员的访问方式
类中成员互访 直接使用成员名
类外访问 使用“对象名.成员名”方式访问 public 属性的成员

构造函数

1.构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态
2.在对象创建时由系统自动调用
3.如果程序中未声明,则系统自动产生出一个默认形式的构造函数
4.允许为内联函数、重载函数、带默认形参值的函数
5.特殊性质:
函数名与类名相同
没有返回值
声明为公有函数public

函数重载

重载函数的声明
C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。
注意事项
1.重载函数的形参必须不同:个数不同或类型不同。
2.编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。
编译器不以形参名来区分
编译器不以返回值来区分
3.不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆

析构函数

1.完成对象被删除前的一些清理工作
2.在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间
3.如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数
规定:是类的公有函数成员
名称由类名前加” ~”构成
没有返回值

20176408李俊 类与对象相关推荐

  1. C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)

    1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...

  2. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  3. C02-程序设计基础提高班(C++)第9周上机任务-类和对象

    第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: [任务1]阅读.运行下 ...

  4. 函数返回类的对象与拷贝构造函数

    C++中,如果我们在一个函数中,定义了一个类的对象,然后返回这个对象,在main函数中用一个对象去接受这个返回的对象的时候,这里面参与的函数调用大家可能不熟悉,这里通过程序和注释的方式给大家讲解一下. ...

  5. ZJU-java进阶笔记 第一、二周(类与对象,对象交互)

    对象变量是对象的管理者,而非所有者 VendingMachine vm = new VendingMachine(); this指代当前对象 成员函数可以直接(不需要点运算符)调用本类的其他成员函数 ...

  6. 3个题目熟悉类和对象基础

    1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示 ...

  7. 刻意练习:Python基础 -- Task10. 类与对象

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  8. java中具有继承关系的类及其对象初始化顺序

    先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...

  9. python的类和对象_Python类与对象实验

    一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...

最新文章

  1. .substr()在字符串每个字母前面加上一个1
  2. css表格文字超数量就竖排_绝了,超轻量级中文 OCR,你值得拥有
  3. python列表总结
  4. 认清当下的努力,可能毫无意义
  5. 安大计算机学院院长汤进,淮北师范大学
  6. Bootstrap 弹出提示插件popover 的使用方法
  7. 【库安装】windows下Python安装protobuf
  8. mysql数据控制语言_Mysql数据控制语言DCL(Data Control Language)
  9. Jquery JS 正确的比较两个数字大小的方法
  10. Windows python3.6 安装 gevent库
  11. 基于Linux的小项目-在线词典
  12. linux加载打印机驱动程序,Linux下安装HP打印机的驱动程序
  13. linux snoop抓包命令,snoop抓包简介
  14. 如何在透视表中同时显示客户编码和客户名称
  15. C++primer Plus课本代码(第6章)
  16. 解锁中智集团30平方米数据中心备受追捧的密码
  17. springboot版本导致Mabatis-Plus报错
  18. Java实现微信公众号模板消息管理群发和单发
  19. 立创EDA学习笔记(5)——PCB设计
  20. JDBCUtil工具类,单线程模式

热门文章

  1. python绘制动态心电图_东软医院收费端使用手册.doc
  2. soso地图开放API info层详解
  3. 【向StoneDB迁移数据】数据迁移同步工具-Gravity
  4. 方向gravity_两种对齐方式,layout_gravity和gravity大不同
  5. php会员生日祝福,药店会员积分卡 vip客户生日祝福短信
  6. oracle ebs form 计算 汇总公式,Oracle+EBS+Form开发小技巧汇总
  7. 伪元素在父元素中居中_为什么第1号元素是宇宙中最多的元素?
  8. SAP定义应收应付容差组
  9. 移动OA办公——Smobiler第一个开源应用解决方案,快来get吧
  10. [美文赏析]《非走不可的弯路》--张爱玲