自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 c++ primer--12.1动态内存和智能指针

内存有三种类型:静态内存、栈内存和堆内存(自由空间)1.静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。2.栈内存用来保存定义在函数内的非static对象3.程序用堆来存储动态分配的对象。(动态内存不再使用时,必须显示的销毁它们)shared_ptr和unique_ptr是两个智能指针:行为类似常规指针,重要的是它负责自动释放所指向的对象。定义在memory头文件中。shared_ptr类回顾标准库类型vector,其定义的形式有点类似;sha

2021-05-14 23:38:21 105

原创 c++隐藏特性

当子类与父类拥有同名的成员函数,子类会隐藏父类中所有版本的同名成员函数,如果想访问父类中被隐藏的同名成员函数,需要加父类的作用域#include <cstdlib>#include <string>#include<iostream>using namespace std;class Base{public: Base() { m_a = 100; } void func()//成员函数,不是构造函数 { cout<<"Base-

2021-05-09 22:34:44 187

原创 c++访问控制与封装

所有的 C++ 程序都有以下两个基本要素:程序语句(代码):这是程序中执行动作的部分,它们被称为函数。程序数据:数据是程序的信息,会受到程序函数的影响。封装封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。简言之,数据封装就是将类内部分成员设置为外部可见,而

2021-05-09 21:59:44 166

原创 c++ 类----构造函数探讨

c++类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程(以及设计)技术。类的接口包括用户所能执行的操作:类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。让我们举一个现实生活中的真实例子,比如一台电视机,您可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD 播放器),但是您不知道它的内部实现细节,也就是说,您并不知道它是如何通过缆线接收信号,如何转换信号,并最终显示在屏幕上。因此,我们可以说电视把它的内部实现和外部接口分离开了,您无

2021-05-09 21:02:15 71

转载 new 和 delete --- 动态内存分配和释放

数组的长度是预先定义好的,在整个程序中固定不变。C++ 不允许定义元素个数不确定的数组。例如:int n;int a[n]; //这种定义是不允许的但是在实际的编程中,往往会出现所需的内存空间大小取决于实际要处理的数据多少,而实际要处理的数据数量在编程时无法确定的情况。如果总是定义一个尽可能大的数组,又会造成空间浪费。何况,这个“尽可能大”到底应该多大才够呢?为了解决上述问题,C++ 提供了一种“动态内存分配”机制,使得程序可以在运行期间,根据实际需要,要求操作系统临时分配一片内存空间用于存放数

2021-05-05 23:22:39 1099

原创 C++ 前置、后置递增(递减)运算符

记录本人的学习过程,如果能够帮助到您,是我的荣幸#include <cstdlib>#include <string>#include<iostream>using namespace std;//重载递增运算符//自定义整型class myInteger{ friend ostream& operator<<(ostream& cout,myInteger myint);public: myIntege

2021-05-04 16:24:45 1003

原创 1003 我要通过

题目重述“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母

2021-05-01 13:00:12 57

原创 类和对象--深拷贝和浅拷贝

#include<iostream>#include<string>#include<conio.h>#include<vector>using namespace std;//深拷贝与浅拷贝class Person{public: Person() { cout<<"默认构造函数调用"<<endl; } Person(int age,int height) { m_

2021-04-27 20:46:07 115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除