首页 > 编程语言 >C++面向对象程序设计概念梳理

C++面向对象程序设计概念梳理

时间:2022-11-20 15:57:31浏览次数:43  
标签:友元 函数 对象 成员 C++ 面向对象 程序设计

写在前面:

本篇文档是为了《C++面向对象程序设计》课程所写,包含了本课程考试可能会考的所有概念。当然,因为目的只是为了通过考试,所以我将这些概念已经尽量精简。如果你将下面的概念全部理解记住,那么期末考试的第一大题30分应该不难获得满分。

版权声明:

以下内容是我对这些知识点查阅资料后书写的理解,为个人的智力成果,未经许可,不可进行商用转载。

非商用转载请联系:[email protected]

第一章 绪论

一、面向对象方法

1.是什么

一种能帮助人类解决问题的自然方法

2.作用

面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成类(类实例化后才是对象),创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为

二、结构化程序设计

1.思想

自顶向下,逐步求精,模块分解,功能抽象,自顶向下,分而治之

2.作用

有效地将一个复杂的软件系统分成许多容易控制和处理的子任务,这些子任务都是可以独立编程实验的子程序模块,每个子程序界面清晰,使用方便

三、面向对象程序设计

1.是什么

面向对象程序设计吸取了结构化程序设计的一切优点,又考虑到了现实世界与面向对象空间的关系,将数据与对数据的操作放在一起,当作一个整体处理。同时又采用数据抽象和信息隐藏技术,并且考虑不同类之间的可重用性。

2.对比结构化程序设计

结构化程序设计还是面向过程的程序设计,它把数据和过程分离成互相独立的实体。

对于不同的数据格式需要编写不同的程序,因此可重用性不好。

当数据和过程相互独立时,可能产生错误的程序调用正确的数据这种程序与数据调用错误的情况,对于程序员来说是沉重的负担

以上这些缺点会随着程序的规模增大而愈发难以控制

3.四大基本概念

对象

对象是实际存在的,可以是有形的,也可以是抽象的

对象是描述客观事物的一个实体,是构成系统的一个基本单位,一个对象由一组属性和对这组属性进行操作的服务构成。

类实例化后是对象

类是依照对象的共性,划分出来的

类是对象的抽象及描述,是具有共同属性和操作的多个对象的相似特性的统一描述体

消息

消息是对象间的通信和请求任务,要求某个对象执行其中某个功能,消息分为公有消息和私有消息

方法

方法是对象接收到消息时所执行的操作

4.四大特性

抽象性

抽象性是指将具有一致的属性和行为的对象抽象成类。一个类就是这样一种抽象,它反映了与对象有关的重要性质,而忽略其他一些无关内容。

封装性

封装就是把一组数据和这组数据有关的操作集合组装在一起,形成一个能动的实体(对象)

继承性

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

多态性

不同的对象收到相同的消息时产生完全不同的行为

第二章 C++语言对C语言的扩充

一、C++语言中函数的新特性

  • 函数原型

  • 内联函数

  • 带默认参数的函数

  • 函数重载

  • 函数模板

第三章 类和对象

一、构造函数

构造函数是与类同名、没有返回值的特殊成员函数,可自动进行对象的初始化

二、析构函数

析构函数是在对象撤销时,释放该对象所占用的内存空间的函数。

一般在对象消亡时,系统将自动调用析构函数,执行一些在对象撤销前必须执行的清理任务

三、静态成员

静态成员是不管类中创建了多少个对象,静态成员只有一个副本,此副本被这个类的所有对象共享

静态成员分为静态数据成员静态数据函数

第四章 友元

一、友元定义

遵循一定规则而使对象以外的软件系统能够不经过消息传递方式而直接访问对象内封装的数据成员的技术方法便是友元。

二、友元函数

友元函数是一种说明在类定义体内的非成员函数。

三、友元成员

另一个类的成员函数可以作为某个类的友元,只是在声明友元函数是要加上成员函数所在的类名,称为友元成员。

四、友元类

某一个类可以是另一个类的友元,这样作为友元的类中的所有成员函数都可以访问声明其为友元类的类中的全部成员。

第五章 继承与派生

一、继承

二、派生

三、虚函数

第六章 多态性与虚函数

实验题

1.Tdate

P39

2.学生类

书上无

3.各种形状

P154

4.运算符重载

P132

5.文件读写

6.函数模板

P31

标签:友元,函数,对象,成员,C++,面向对象,程序设计
From: https://www.cnblogs.com/Syhang/p/16908676.html

相关文章

  • c++:函数的重载
    一、重载的定义对于同一种功能但是参数不一样的函数,使用重载就可以实现功能相同的函数拥有相同的函数名,在调用函数的时候,通过实参的类型,判断调用哪个函数。【不使用重载......
  • 2022-2023-1 20221305 《计算机基础与程序设计》第12周学习总结
    2022-2023-120221305《计算机基础与程序设计》第12周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在......
  • c/c++常见的数据类型表示的范围
    首先参考博客 ​​C语言:基本数据类型及表示范围-myrj-这里有个疑问,int和long到底什么区别:看了一些博客:​​在C+中,int和long有什么区别?​​​​C和C++中int和long有什么......
  • Android 编译C++
    Android编译C++项目​​前言​​​​正文​​​​一、基本知识​​​​①要做什么?​​​​②JNI是什么?​​​​③NDK是什么?​​​​二、配置NDK​​​​三、创建新工程......
  • [排序算法] 归并排序 (C++)
    归并排序解释归并排序MergeSort是典型的分治法的应用,其算法步骤完全遵循分治模式。分治法思想分治法思想:将原问题分解为几个规模较小但又保持原问题性质的子问题,......
  • 2022-2023-1 20221313《计算机基础与程序设计》第十二周学习总结
    2022-2023-120221313《计算机基础与程序设计》第十二周学习总结作业信息作业课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求https://ww......
  • windows--cmake与c++的使用教程(13)
    1概述本文基于前文环境本节目标:为发布项目关闭调试控制台(/SUBSYSTEM:WINDOWS)2CMake脚本设置debug显示控制台还是很有帮助的,可输出调试信息到控制台,观察成勋运......
  • windows--cmake与c++的使用教程(12)
    1概述本文基于前文环境本节目标:为项目增加链接选项:requireAdministrator(/level='requireAdministrator'),用于增加管理员权限2目标程序安装C盘(windows默认系......
  • windows--cmake与c++的使用教程(11)
    1概述本文基于前文环境本节目标:设置项目包含头文件路径,关键语法target_include_directories。2目标main.cc与Typedef.h不在同一个目录下,Typedef.h位于incl......
  • c++中参数传递的三种方式
    一、值传递通过值传递传递的形参实际上是对实参的一个拷贝,对形参进行修改操作,不会影响到实参的值。【实例】#include<iostream>usingnamespacestd;voidchange(i......