![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++学习笔记
狠人王
怀着一颗热情的心,追随自己的梦想!
展开
-
指针和引用
指针程序运行时,代码和需要的数据都被存储在内存中内存是有序的字节序列,每个字节都有唯一的地址,使用该地址可以确定字节的位置,用以存储和获取数据找数据通过变量的名字直接访问为程序中定义的变量分配的内存单元,存取变量的值使用变量的内存地址找到存放数据的单元,间接访问其中的内容指针是间接访问数据的工具,通过访问地址来获取数据,指针变量存的是所指向对象的地址,通过指针可以间接操作数据,定义的指...原创 2019-03-02 17:21:32 · 154 阅读 · 0 评论 -
多态
概述多态是c++面向对象程序设计的一大特性,概括来说,多态就是一个名称,多种状态。一般要把进行多态显示的函数在被继承的基类里面设为虚函数,然后在不同的派生类中同名书写该函数,调用的时候借助指针和引用,实现一个名称,多种功能的效果,即同名覆盖。几点介绍1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2:存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向...原创 2019-06-23 18:51:32 · 128 阅读 · 0 评论 -
继承
概述继承是c++面向对象程序设计一个非常关键的特性,其实继承就是让一个大类去使用小类的成员函数,贴合实际面向对象来看,比如我们研究一种猫科动物,这个猫科动物就是一个对象,我们会先用动物的普遍衡量标准去衡量和描述该猫科动物,这就是说该猫科动物继承了动物共同的特点,动物类就是一个基类,那该猫科动物有没有自己的特点,当然有,这个猫科动物类就是派生类。具体知识—>>>继承分为三种类...原创 2019-06-23 18:41:36 · 144 阅读 · 0 评论 -
重载运算符知识总结
1、为什么要重载?在面向对象程序设计过程中,经常会把一个类输出出来或者对类进行运算操作。那么在我们对类进行操作时,为什么一定要重载运算符呢?这是因为c++库内嵌的运算符号只是能够对简单变量进行操作(例如:int和int),而无法对类(class和struct)这个数据封装整体结构进行操作。其实也好理解,类有无数个,不同的类有不同的数据成员,数据成员有不同的变量类型,程序当然不知道怎样匹配这些量之...原创 2019-06-23 18:11:08 · 331 阅读 · 0 评论 -
c++软件开发心得
作为计算机科学与技术专业的学生,开发软件是一项基本能力,软件开发的好坏最关键的是对项目实际的思考,其次才是熟练的语法知识,只有思考清楚来龙去脉甚至是框架才能游刃有余的写出好的代码。本学期学习了c++的面向对象的语法知识和三大特性,从开学到现在依次开发了通讯录管理系统、ATM管理系统、图书管理系统,对这些系统的思考由浅入深,由最初的只是通过封装类完成程序设计再到结合实际情况的继承再到多态性的利用,程...原创 2019-06-22 00:46:19 · 4843 阅读 · 0 评论 -
重载运算符
#include<bits/stdc++.h>using namespace std;class date{int month;int day;public:date(int a,int b):month(a),day(b){}date(){month=0;day=0;};int getMonth(){return month;};int getDay(){retu...原创 2019-06-03 22:31:58 · 155 阅读 · 0 评论 -
自定义数据类型作为map/multimap的键值
在使用map或者multimap时,有时候我们需要自定义键值,才能符合程序的需要。比如12306查询系统,得先把出发点和目的地都作为查询点才可以,可以写一个类,然后map的键值就是这个类,实值是下标。当然有些麻烦,直接用pair也未尝不可。原因:map的键值是自动比较后进插入的,键值是递增的,而现在我们自定义的键值,编译器无法进行比较,找不到类似的模板,所以报错。既然是没有‘<’,那我们...原创 2019-06-19 08:51:40 · 686 阅读 · 0 评论 -
图书管理系统1.0(当然是很简low的系统,没有华丽界面,但是很锻炼软件开发能力,只用到c++的面向对象知识)
这个代码有很大的问题就是在继承这一方面做的不好,没有考虑继承的实际情况,实际上,如果写一个通归所有功能的大类,然后再让不同的对象去继承的话,存在一个问题,有的功能我实际生活中没法用也不应该用(比如普通用户没法删书删记录,但是管理员可以),那我继承过来不就违反了实际吗。所以继承不应该盲目,应该只把公有的公有的功能函数继承就可以了。自己独有的函数自己单独写。代码里有不少心得体会和写这个代码时的思考点...原创 2019-06-18 21:29:13 · 292 阅读 · 0 评论 -
C++类
0、概述:类是程序设计者自己定义的数据类型,在上学期我们常用的结构体(struct)就是属于类的范畴。在实际编程中常常需要根据情况自定义数据集合,这就需要类的知识。下面详细介绍c++面向对象中的“类”。1、类的定义:类是程序设计者自己定义的数据类型,基本语句如下:class 类名{ 成员列表};class与struct的区别在于默认的封装条件不一样,class默认pri...原创 2019-04-13 22:01:43 · 601 阅读 · 0 评论 -
c++系统学习总结(较全)
开学已有一月之多,在这段时间内,我系统的学习了c++的许多原理和知识,对c++的认识由浅入深。随着学习的深入,我越发感受到了c++作为一款面向对象程序设计语言的精密奥妙。我渴望用c++去开发一些能对我们日常生活产生有益影响的软件,我也极其渴望用编程改变世界。下面对这个月所学的知识进行全面而细致的总结:首先,c11增加了许多新内容,让某些情况下的编程更加方便了总结:1.constexpr对象...原创 2019-03-24 17:17:56 · 1084 阅读 · 0 评论 -
new和delete
C++通过new和delete运算符进行动态存储空间的管理new运算符在堆上动态分配空间,创建对象,并返回对象的地址一般将new返回的地址保存在指针变量中,以便间接访问堆上的对象。new表达式的三种形式分配单个对象:new 类型 或者 new 类型(初始值)分配多个连续存储的对象:new 类型[数组大小]定位new,在指定位置分配空间:new (指针) 类型;new 类型 或者 n...原创 2019-03-07 16:43:20 · 431 阅读 · 0 评论 -
c++数据类和文件导入的一点心得
c++数据类有必要的话可以加上vector和map/multimap,比如图书管理系统中的用户和用户记录,查找用户信息时显示这个人的所有借阅记录,我当时写图书管理系统的时候,思路是用文件查找的方式,关联输出用户信息和记录,因为我想让数据类更纯净,只是基本数据而已。其实,为了实现功能搞点容器组合也未尝不可。那样实现起来会更简单,好的思路要借鉴。...原创 2019-07-02 11:42:10 · 1107 阅读 · 0 评论