C++的要点:
   一个思想:抽象(和分类)的思想;
   三个概念:类、对象、消息;
   三个特征:封装、继承、多态;
   一个观念:函数服务于数据。
 
   程序 = 对象 + 消息
  (对象 = 数据结构 + 算法)
 
   封装及构造、拷贝构造、赋值、析构
   继承及隐含规则
   运算符重载
   虚函数、抽象类
   模板设计
   异常
   STL
 
== 抽象
抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。
–先注意问题的本质及描述,其次是实现过程或细节。
–数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。
–代码抽象:描述某类对象的共有的行为特征或具有的功能。
–抽象的实现:通过类的声明。
 
== 类
将同一类型的对象加以抽象:描述该类对象的共有的属性或状态(对象相互区别的物理量),以及行为特征或具有的功能。这种抽象的实现叫做类。
-类是有着共同特征与行为,而状态各不相同的物体的总称。
-对象是类的实现,是类的特例。
-用C++术语来表达:类是一种类型。
-类是表现数据高级形态的有力工具。
 
== 封装
将抽象出的数据成员、代码成员相结合,视它们为一个整体。
–完全开放的数据结构容易受到伤害。
–目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限使用类的成员。
–封装的实现:类声明中的{ }。
–体现了类的高内聚性。
封装的内涵
1.将数据和为其服务的操作结合成整体——整体性;
2.将包裹的内容分为可见部分与不可见部分,用访问权限加以控制——安全性;
3.即使是可见部分,也仅提供函数原型或接口,而将实现隐藏起来——封闭性;
4.为类提供了“本能”操作——生存性;
5.类内所有成员间的相互访问是完全自由的——开放性及数据的共享性。
 
== 继承与派生
是C++中支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。
实现:声明派生类
 
== 多态性
多态:同一名称,不同的功能实现。
目的:达到行为标识统一,减少程序中标识符的个数。
实现:重载函数和虚函数

c++的基本点的更多相关文章

  1. C语言基本点初探

    1,对于int a=10++;此语句错误,为什么呢,对于i++来说,i是一个变量,是把i加1然后赋值给i,然而10不是一个变量所以无法执行加加的语法; 2,运算符的优先级: 赋值运算符<逻辑运算 ...

  2. -高级Javascript编程学习笔记----Javascript编程及架构设计最应该注意的基本点

    最小全局变量 JavaScript通过函数管理作用域.在函数内部生命的变量只在这个函数内部,别的地方不可用.全局变量是指在函数外或是未声明直接简单使用的.每个Javascipt环境有一个全局对象,当你 ...

  3. .NET Framework 中的类型系统的两个基本点

    它支持继承原则. 类型可从称为基类型的其他类型派生. 派生类型继承基类型的方法.属性和其他成员(存在一些限制). 之后,基类型可从某些其他类型派生,这种情况下,派生类型继承其层次结构中这两个基类型的成 ...

  4. C++ 一些容易忽略的基本点

    new 高级应用 delete 其他用途帮助函数严格匹配类型 char teststr[100] = { 0 };// 静态区void test3(){ // 堆区 int *p = new int[ ...

  5. SQL基本点—— 思维导图

  6. 一篇包含了react所有基本点的文章

    去年,我写了一本关于学习React.js的小书,原来是大约100页. 今年我要挑战自己,把它归纳为一篇文章. 本文不会涵盖什么是React,或者为什么要学习它. 相反,这是面向已经熟悉JavaScri ...

  7. DDD初学指南

    去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...

  8. DDD 领域驱动设计-两个实体的碰撞火花

    上一篇:<DDD 领域驱动设计-领域模型中的用户设计?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 在 ...

  9. 对CSS中的Position、Float属性的一些深入探讨

    对CSS中的Position.Float属性的一些深入探讨 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不 ...

随机推荐

  1. 记录小坑-tp5 使用模型select查询

    场景: 使用模型去select查询后进行业务处理 再进行 saveAll 提示缺少更新条件 坑点:此时取出的数据结构是 query对象 { array:[ xxxx => xxx ] }: sa ...

  2. DX12龙书 02 - DirectXMath 库中与向量有关的类和函数

    0x00 需要用到的头文件 #include <DirectXMath> #include <DirectXPackedVector.h> using namespace Di ...

  3. S3C6410触摸屏驱动分析

    一. device的注册1.0 两个注册//在smdk6410_machine_init中既注册了touchscreen的私有信息也注册了ts资源 1 在arch/arm/mach-s3c64xx/m ...

  4. CV学习日志:CV开发常用库及其头文件

    CV开发过程中,通常会涉及以下库:(1)语言/视觉:C.CPP.QT.OpenCV(2)通信/模拟:ROS2.Gazebo.Webots(3)日志/数学:Eigen3.Gflags.Glog.Cere ...

  5. day32 Pyhton 异常处理

    一.内容回顾 反射的另外两个内置函数 setattr delattr a.b=c 与 setattr(a,'b',c)相对 del a.b 与 delattr(a,'b') 两个内置函数 A,B(A) ...

  6. Jmeter请求元件之参数化CSV

    1.设置CSV:线程组->配置元件->CSV 数据文件设置 2.在本地创建txt文件,一个测试用例参数是一行,参数之间用逗号分隔: 或者创建一个excel文档,保存格式为csv: 这里有个 ...

  7. 【源码项目+解析】C语言/C++开发,打造一个小项目扫雷小游戏!

    一直说写个几百行的小项目,于是我写了一个控制台的扫雷,没有想到精简完了代码才200行左右,不过考虑到这是我精简过后的,浓缩才是精华嘛,我就发出来大家一起学习啦,看到程序跑起来能玩,感觉还是蛮有成就感的 ...

  8. 【模拟】CF 796C Bank Hacking

    题目大意 洛谷链接 给定一棵带点权树,选出一个最佳的根节点,使得根节点的点权不变,它的儿子点权加1,其余点点权加2,并使最大点权最小,输出这个最小的最大点权. 其他见链接(懒). PS:原题面很不好总 ...

  9. spring boot:构建多模块项目(spring boot 2.3.1)

    一,为什么要使用多模块? 1,结构更清晰,方便管理    如果只是一个小项目当然没有问题,    但如果功能越增越多则管理越来越复杂,    多模块可以使项目中模块间的结构分离   2,把项目划分成多 ...

  10. linux(centos8):用cut显示文本内容的指定列

    一,cut命令的用途 从一个文本文件或者文本流中提取文本列 分别用: 字节.字符.字段 作为单位进行提取 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.co ...