![](https://img-blog.csdnimg.cn/direct/59816a9e3b6142c9aed48fb1e1b60be4.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
程序设计基础
文章平均质量分 51
C++课程内容记录。
Daniel Mui
八边形战士
展开
-
【C++】 类和对象期末复习笔记(四)——多态性
引言前面两篇基础篇和一篇继承篇已经完工,地址如下????基础篇:笔记一笔记二继承和派生篇:笔记三正文1、多态:分为静态多态和动态多态1)静态多态:函数重载、运算符重载、模板。2)动态多态:也称运行时多态,在程序运行阶段才能确定关系.C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。2、函数重载1)函数重载:赋予一个函数名多个含义2)一般而言,重载函数是功能相似的一组函数,它们提供了使用相同功能的不同形态。3、运算符重载1)运算符重载通过定义运算符重原创 2021-06-06 11:41:07 · 218 阅读 · 0 评论 -
【C++】 类和对象期末复习笔记(三)——继承和派生
引言:前面已经写了两篇基础篇笔记,这一篇是继承和派生专题。前两篇笔记地址如下????笔记一笔记二正文:1、继承分为单一继承和多重继承单一继承:派生类仅由一个基类派生多重继承:派生类由多个基类派生2、继承方式:公有继承(派生)public、保护继承(派生)protected、私有继承(派生)private例:class B public:A{ ...... };class B protected:A{ ...... };class B private:A{ .原创 2021-06-05 11:50:47 · 385 阅读 · 3 评论 -
【C++】 类和对象期末复习笔记(二)
引言续上一篇笔记,上一篇笔记的地址在这????笔记一正文1、静态成员1)静态数据成员a.若将类的一个数据成员定义成静态型的,则该类的所有对象的该成员共用同一存储空间b.定义方法:前头加关键字static例:class Sample{private: int a,b,c; static int d; //静态数据成员 };c.静态数据成员必须在类体外初始化,不需要加staticPS:若在类外初始化时没有赋一个确切的值,则默认初值为0d.静态数据成员是属于原创 2021-06-04 13:31:27 · 202 阅读 · 1 评论 -
【C++】 定义数组类模板
题目:定义数组类模板,能够对数组元素进行排序、倒置、查找和求和,产生类型实参分别为int型和double型的两个模板类。从键盘输入数据到整型数组与双精度数组中,创建两个数组类对象,分别对整型数组与双精度型数组对象完成上述操作。#include<bits/stdc++.h>using namespace std;#define MAXSIZE 100template<class Type>class Array{ int len,z; Type a[M原创 2021-06-04 11:15:48 · 1501 阅读 · 0 评论 -
【C++】类和对象期末复习笔记(一)
引言:马上就是期末周了,为了复习巩固C++的内容,就做点笔记回顾一下知识点吧。正文:1、什么是类和对象?对象是对客观事物的抽象,可以说是类的变量,类是对对象的抽象,是一种抽象的数据类型。对象是类的实例,类是对象的模板。2、类的三个基本特征封装、继承、多态3、面向过程和面向对象的区别面向过程:程序=函数+调用面向对象:程序=对象+交互4、类的数据成员的三种访问权限1)私有(private):只允许类内成员函数存取它2)保护(protected):允许类内和其他派生类函数存取它3)公有原创 2021-06-02 22:31:15 · 354 阅读 · 0 评论 -
【类和对象】 多态——定义几何图形抽象类Shape
题目:#include<iostream>#include<iomanip> using namespace std;#define PI 3.1415926class Shape //抽象类,包含两个纯虚函数{public: virtual float Area() = 0; virtual void SetData(float, float = 0) = 0;};class Triangle :public Sha原创 2021-05-15 20:59:07 · 1199 阅读 · 0 评论 -
【类和对象】多态——定义矩阵类Matrix
题目:#include <iostream>using namespace std;class Matrix{ int* p, rows, cols;public: Matrix(int r = 0, int c = 0) //构造函数,初始化数组的行数和列数 { rows = r, cols = c; p = new int[rows * cols]; //用一维数组存放二维数组 } Matrix(const Matrix&原创 2021-05-15 20:56:30 · 3071 阅读 · 0 评论 -
C++大作业——商品管理系统【附源代码】
这一次我打算记录一下上学期期末老师让我们完成的一个大作业,就是一个商品管理系统的实验,花了不少时间呢,因为当时我很菜 。完成这个实验感觉对函数的运用提高了,最显著的一个益处就是我对结构化编程有点感觉了(毕竟是第一次打三百多行代码嘛……)俗话说,学习C++的人,第一个精通阶段是会写一些数学题,第二个精通阶段就是会写管理系统啦,各位朋友都可以学习一下如何结构化编程,一是美观,二是有条例和逻辑性,三是合理利用函数、提高运用函数能力。(当然不是学我,我的代码写得勉勉强强)包括以后的类和对象亦是如此,封装是C+原创 2021-03-31 23:21:05 · 8869 阅读 · 4 评论 -
C++大作业——实验室成员管理系统(继承)【附源代码】
实验目的:开发一个实验室成员管理系统,取代结构体类型,定义教师类和学生类。定义实验室类,将所有教师和学生作为成员,建议将所有成员数据的访问权限定义为private。实验要求:引入类、对象、构造函数等面向对象编程因素,通过编程加深对“封装”的认识,掌握类、对象、成员函数、构造函数的定义与使用。为教师类和学生类定义一个共同的基类Member,将它们共同的成员数据和函数封装到基类Member中。基类Member数据成员的访问属性可定义为protected,便于派生类中直接访问。教师类和学生类作为Member的派原创 2021-05-15 20:43:27 · 1993 阅读 · 0 评论 -
【类和对象】 继承和派生——定义Date类和Time类并派生出DateTime类
题目:#include<bits/stdc++.h>using namespace std;string itoa(int n, string &s) //这里用string代替了char类型 { string a; int n1=n,t; while(n1) { t=n1%10; n1/=10; switch(t) { case 0: a+="0";break; case 1: a+="1";break; ca原创 2021-04-18 14:02:50 · 2190 阅读 · 0 评论 -
【类和对象】 继承和派生——定义Person类并派生出Student和Teacher类
题目:#include<iostream>#include<iomanip>#include<string>using namespace std;//定义人员类 class Person{ protected: string Id; string Name; char Sex; string Address; string Tel; string Email; //设置成员信息 public: void SetI原创 2021-04-18 13:58:45 · 4791 阅读 · 0 评论