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. vue+element ui 关闭弹窗前清空form表单的值

    this.$refs['disposeConfigsform'].resetFields();

  2. 原生tab选项卡

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. MeteoInfoLab脚本示例:MODIS AOD

    MODIS的气溶胶光学厚度(AOD)产品应用很广,数据可以在Giovanni上下载:http://disc.sci.gsfc.nasa.gov/giovanni/overview/index.html ...

  4. GIT之分支管理

    分支管理 一.分支推进 主分支 单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动. 子分支 当切换到子分支的时候,HEAD 则指向子分支的节点. 在子分支上 ...

  5. 扫描仪扫描文件处理-Python批量处理

    多进程处理扫描出来的图片,参见: https://github.com/barrer/scan-helper bug问题反馈github提Issues

  6. windows 快速安装Python3.7.2

    1.官方下载地址:https://www.python.org/downloads/release/python-372/ 其他地址:http://www.uzzf.com/soft/449550.h ...

  7. kafka-manage管理工具

    1 github地址   https://github.com/sheepkiller/kafka-manager-docker   2 启动   将参数传递给kafka-manager   对于版本 ...

  8. go 结构体初始化

    package main import "fmt" type Dog struct { Name string } func TestStruct() { // 方式1 //var ...

  9. centos8平台yum无法安装一些常用软件的解决,如:screen,iftop,nethogs

    一,例如:安装screen时报错: [root@localhost liuhongdi]# yum install screen 上次元数据过期检查:17:39:58 前,执行于 2020年03月18 ...

  10. phpstorm配置sftp自动上传

    勾选自动上传 手动上传   qq_23049573 原创文章 14获赞 4访问量 2万+ 关注 私信