![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
理论-面向对象程序设计
面向对象程序设计思想
豆沙睡不醒
永远不要停下脚步
展开
-
面向对象实验(七)——多态性2
理论基类类型对象入口索引子类对象1.泛化的概念:由具体的,个别的扩大为一般的;将此概念应用于结构体和类对象,就是泛化能力。类型泛化指的是在继承和派生时,基类派生出了很多不同的子类,形成了继承树,生成的子类都有自己独特的性质,但是所有的子类都有自己的独特性质,但是所有的子类都具有基类的性质,所以也可以看作是基类对象。2.不同的子类对象都可以用基类指针索引到,但是如果用统一的方式索引到之后,遇到相同的函数入口,只会执行子类函数中的函数。也就是说,调用基类指针后,虽然指向的是派生类对象,但是调用的仍旧是基类原创 2020-08-07 19:08:33 · 333 阅读 · 0 评论 -
面向对象——继承与派生
继承与派生继承与派生的概念区分继承和组合 从模块累积的角度来说,大模块是由无数个小模块构成的。构建一个模块的方式有两种,一是小模块架构组合成为大模块,二是小模块继承生成大模块。 模块可以通过调用模块成员使用模块成员的性质,这就是组合。 组合的代码理解如下:#include<bits/stdc++.h>using namespace std;class point{ private: int x,y; public: po原创 2020-05-09 14:05:03 · 649 阅读 · 0 评论 -
面向对象——模块的延续与发展
模块的延续与发展模块成员的性质和模块的性质模块累积的角度,一个大模块是由小模块构成的。构建一个模块有两种方式:小模块架构成为大模块,由另一个模块继承和派生而来模块可以通过调用模块成员使用模块成员的性质,这就是组合。代码理解如下:#include<bits/stdc++.h>using namespace std;class point{ private: ...原创 2020-05-08 13:47:40 · 248 阅读 · 0 评论 -
面向对象实验 ——(三)数据的保护与共享
C++静态成员和友元成员的理解面向对象-数据保护与共享-常模块写了一节课 极度卑微一、实验目的及要求内容:(1)定义一个具体的类,要求该类中用到类的静态成员和友元;(2)案例要具有一定的实际功能。要求:(1)理解类的静态成员含义,掌握静态成员的适用场合及使用方法;(2)掌握友元函数及友元类的用法;(3)记录并分析实验结果,撰写实验报告。二、实验过程及实验结果分析1.静态成员...原创 2020-08-07 19:08:41 · 418 阅读 · 0 评论 -
面向对象实验 ——(二)类与对象
以前的博客:C++ 构造函数+析构函数+函数参数的传递C++ 模块累积的理解一、实验目的及要求内容:(1)定义一个具体的类(如Point类),该类应包含构造函数、析构函数;(2)定义一个组合类(如Line类),该组合类应该含有(1)中所定义的基本类内嵌对象,定义该组合类的构造及析构函数;(3)利用所定义的组合类实现一定的具体功能。要求:(1)掌握对象与类的基本概念、定义与使用;...原创 2020-08-07 19:08:47 · 1112 阅读 · 0 评论 -
面向对象实验 ——(一)控制结构与函数
一、实验内容及要求内容:(1)熟悉Visual Studio 2010开发环境,掌握C++中有关数据类型、输入输出、程序控制流的基本知识;(2)函数的定义、函数参数传递;函数的重载;(3)函数形参的缺省值设置。要求:(1)理解函数定义及对数据的处理流程;(2)掌握函数参数传递的原理、函数重载、缺省值形参函数的使用;(3)以简单类型数据的处理为例,设计一个具有一定功能的函数,要求用到...原创 2020-08-07 19:08:52 · 231 阅读 · 0 评论 -
面向对象-指针、指针常量、常量指针
前言:什么是指针?每个变量名在运行时都要对应一块内存地址。int a=5; //a的地址是1000 内存: 1000-1003 4字节int* p; //p的地址是2000 内存: 2000-2007 8字节p=&a;p变量的变量空间2000-2007里存放了a的地址1000p的空间和p所指的空间含义不同,前者是2000-2007,后者是所指空间的首地址1000这也就引...原创 2020-04-12 14:31:28 · 240 阅读 · 1 评论 -
面向对象-数据保护与共享-常模块
有空会把笔记整理下的#include<bits/stdc++.h>using namespace std;/*出于数据保护与共享,出现了常模块。顾名思义,常模块就是构造后数据不允许变化的模块。常数据成员*/class Clock{ private: int h,m,s; const int maxn=100;///常数据成员:在对...原创 2020-04-06 16:20:05 · 221 阅读 · 0 评论 -
C++静态成员和友元成员的理解
面向对象程序设计课堂笔记对静态成员的理解在之前的学习过程中我们已经了解到模块数据的共享与保护机制,比如:数据成员对外不公开,对象里定义的变量也具有作用域等等。对于一个类,函数成员是所有的对象相同的,而数据成员则是各自不同的。如果这时候我们引入了一个新的数据成员,对于所有的对象来说,他的值都是相同的,此时再去对每一个对象定义一次此数据成员则显得冗杂。由此,我们引入了静态数据成员。根据上一段的...原创 2020-04-01 13:43:46 · 707 阅读 · 0 评论 -
C++ 模块累积的理解
通俗的解释就是元素构成小模块,小模块构成大模块。析构的过程正好相反,大模块析构后小模块被暴露,小模块再被析构要注意:先构造的后析构#include <bits/stdc++.h>using namespace std;class Point{///定义一个类对象相当于一个模块 private: int x,y;///类对象的数据成员,对外不可见 public:///类...原创 2020-03-25 11:45:17 · 422 阅读 · 0 评论 -
C++ 构造函数+析构函数+函数参数的传递
c++ 构造函数详解_C/C++_若尘的博客-CSDN博客#include <iostream>using namespace std;class Clock{ private:int h,m,s;///数据成员 public:///对外接口 ///默认构造函数 Clock():h(0),m(0),s(0){ ...原创 2020-03-11 10:48:38 · 2240 阅读 · 0 评论