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. 2020年java全套教程,此套java涵盖了pdf,java源码,项目案例,完整视频约3000G的资源

    疫情期间,百无聊赖,是不是需要充电一下,让自己更有竞争力呢?学习java一定要快呦! 废话不多说了,网盘已经爆炸了,把2006年-2020年的全部资料都发给爱学习的你吧, 希望可以改变你的命运,或者是 ...

  2. rs232转rs485

    rs232转rs485 rs232转rs485 ZLAN9223E是上海卓岚科技开发的一款先进的无源RS232转RS485转换器.具有如下优点: 支持最高达230400bps的波特率.高波特率下供电能 ...

  3. 如何使用懒加载 - umi

    .umirc.js文件 plugins: [       dynamicImport: true,

  4. ps 树形显示

    ps -axjf|grep swoft

  5. selenium 设置代理ip

    from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("--prox ...

  6. 查看centos 7.6 当前所有监听端口

    由于要开展服务器安全工作查看系统当前所监听端口 ss -lnt 缺点发现有重复端口也显示出来了! ss -lnt | awk '/*

  7. Gitlab 11.9.1 高可用教程

    Gitlab 11.9.1 高可用教程 一. PostgreSQL数据迁移 由于默认Gitlab的安装会内置Postgres数据库,并且没有对外,所以我们需要通过设置对应的Gitlab的配置将其中的数 ...

  8. 第二十二章 Nginx性能优化

    一.性能优化概述 1.我们需要了解 1.首先需要了解我们当前系统的结构和瓶颈,了解当前使用的是什么,运行的是什么业务,都有哪些服务,了解每个服务最大能支撑多少并发.比如nginx作为静态资源服务并发是 ...

  9. HTML <big> 标签

    HTML <big> 标签 什么是<big> 标签? <big> 标签呈现大号字体效果. 使用 <big> 标签可以很容易地放大字体.这简直不能再简单了 ...

  10. IDEA安装IDEA阿里Java规范插件

    插件安装方式有两种: 1.通过在线方式安装,搜索后找到,点击Install安装即可: 2.去官网plugins下载对应插件离线包,地址:https://plugins.jetbrains.com/pl ...