C++基础内容
C++学习
雨夜※繁华
用最强大的行动力诠释一个完美的自己,期望未来成为自己眼中的大神。改变命运!
展开
-
day9 9C++面向对象进阶
C++ 面向对象进阶,拷贝构造函数、重载赋值运算符、转换构造函数、类型转换函数、C++的类型转换运算符拷贝构造函数在 C++ 中,拷贝是指用已经存在的对象创建出一个新的对象;从本质上讲,对象也是一份数据,因为它会占用内存;严格来说,对象的创建包括两个阶段,首先要分配内存空间,然后再进行初始化:分配内存:很好理解,就是在堆区、栈区或者全局数据区留出足够多的字节;这个时候的内存还比较“原始”...原创 2020-03-31 19:30:25 · 274 阅读 · 0 评论 -
day8 8异常
文章目录异常处理(try和catch)概念介绍异常类型以及多级catchthrow关键字(抛出异常+异常规范)exception类RAII异常安全异常处理(try和catch)概念介绍程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:语法错误在编译和链接阶段就能发现,只有 100% 符合语法规则的代码才能生成可执行程序;语法错误是最容易发现、最容易定位、最容易排除的错...原创 2020-03-30 20:10:45 · 304 阅读 · 0 评论 -
day5 5.1多态
多态的概念C++ 多态与虚函数,多态(Polymorphism)是面向对象(Object-Oriented,OO)思想”三大特征”之一,其余两个分别是封装(Encapsulation)和继承(Inheritance)–可见多态的重要性;或者说,不懂得什么是多态就不能说懂得面向对象;多态是一种机制、一种能力,而非某个关键字;它在类的继承中得以实现,在类的方法调用中得以体现;在之前的继承与派生中...原创 2020-03-26 11:57:50 · 62 阅读 · 0 评论 -
day4 4.9(向上转型)派生类赋值给基类
向上转型(将派生类赋值给基类)在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量;数据类型转换的前提是,编译器知道如何对数据进行取舍;大的变小,直接丢弃就可以,小的变大的多出来的内存不知道如何填充类...原创 2020-03-26 11:44:17 · 627 阅读 · 4 评论 -
day4 4.6指针突破访问权限
我们都知道,C++ 不允许通过对象来访问 private、protected 属性的成员变量;C++面向对象中有一大特性就是封装,使用不同的访问控制符来控制外界对其的访问权限。#include<iostream>using namespace std;class A{ private://私有 int mPrivate; int nPriv...原创 2020-03-26 10:53:33 · 186 阅读 · 0 评论 -
day4 4.1继承概念与方式、继承的权限及修改
C++ 继承与派生,继承性是面向对象程序设计最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对象的精华,就是没有掌握面向对象程序设计的真谛继承的概念继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产;继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程;例如类 B 继承于类 A,那么 B 就拥有 A ...原创 2020-03-26 09:40:40 · 177 阅读 · 0 评论 -
const引用
引用不能绑定到临时数据,这在大多数情况下是正确的,但是当使用const 关键字对引用加以限定后,引用就可以绑定到临时数据了指针只能指向内存,因为寄存器和硬盘没法寻址。1)C++中代码大部分都保存在内存中,这种就可以使用&来寻址,如对象、结构体变量是自定义类型的数据,大小不可预测2)表达式的结果、函数的返回值等,它们都可能会放在内存中,也可能会放在寄存器中。他们无法使用&寻址,...原创 2020-03-24 19:13:39 · 349 阅读 · 0 评论 -
day3 3.1C++ 引用(reference)与 指针(pointer)的区别与联系
1.什么是引用?我们知道,参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。对于像 char、bool、int、float 等基本类型的数据,它们占用的内存往往只有几个字节,对它们进行内存拷贝非常快速。而数组、结构体、对象是一系列数据的集合,数据的数量没有限制,可能很少,也可能成千上万,对它们进行频繁的内存拷贝可能会消耗很多时间,拖...原创 2020-03-24 18:19:46 · 193 阅读 · 0 评论 -
day2 2.17String详解
C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。string 是 C++ 中常用的一个类,它非常重要,使用string类必须导入<string>.下面我们来看一下这个头文件的内部// 21.3 Template class basic_strin...原创 2020-03-24 17:06:03 · 174 阅读 · 0 评论 -
day2 2.15类的作用域
1.类的成员的作用域在类定义中的名称,其作用域都为整个类,作用域为 整个类。其值在该类是已知的。class car{ public: int number;//车的牌号};class plane{ public: int number;//飞机的型号};//都是number,作用域仅在自己相应的类内部。2.类成员的访问1)定义成员函数使用作用域解析运算符class ...原创 2020-03-24 12:47:06 · 154 阅读 · 0 评论 -
day2 2.9C++成员对象与封闭类
(Object Member and Enclosing Class)成员对象: 一个类的成员变量是另一个类的对象封闭类:包含成员对象的类比如#include<iostream>using namespace std;class Date{ ...}; //创建一个对象Date,类体略class Time{ Date d1 , d2;}; //创建一个对象Ti...原创 2020-03-23 22:03:37 · 163 阅读 · 0 评论