C++
记录了C++的一些零散的东西,主要是类和对象部分,对C与C++在基础知识方面的区别稍有说明
萌旧
小白一坨
写Blog主要是记录学习过程,能帮到别人的话那自然更好辣!
另,有错误可以指出!我会虚心改正的!
目前学习:Java / 小程序开发
展开
-
从C到C++ ——新增基础与难点复习
关于cout的几点提醒1.cout是从后向前执行,<<操作符的递归调用,先递归执行的是最后一个,参数压栈的顺序是从右向左,输出则是从左到右。例:#include<iostream>#include<string>using namespace std;int main(){int a = 1, b = a;cout &...原创 2020-03-13 19:36:19 · 146 阅读 · 0 评论 -
C++ 引用
引用的基本概念1.引用是为对象取了另外一个名字(引用即别名),引用不是对象。2.引用必须初始化!初始化后不可改变引用对象int& a; //错误!未初始化int& a = b; //正确!int& a = c; //错误!更改引用对象a=c; //正确!复制操作,而非更改引用3.引用必...原创 2020-03-13 20:44:14 · 111 阅读 · 0 评论 -
C++面向对象——类
类的基本概念1.在VS中可自动创建一个类模板。2.类通常写在一个头文件中,头文件一般包含内联函数,通常用于模版类这种声明与实现共存的情况。3.只要不是纯模板,一律使用.h作为头文件后缀,使用.cpp文件作为函数的实现文件。4.在.h型的文件中一般只有声明没有实现,而在.hpp文件中同时声明并实现。5.类的两种创建方式仅创建一个.hpp文件,此时将类的声明和实现放在一起...原创 2020-03-13 20:46:53 · 114 阅读 · 0 评论 -
C++面向对象——成员变量与成员函数
概述1.初始化是赋一个初始值,而定义是分配内存。2.空类占1字节内存静态成员变量,静态成员函数,非静态成员函数不在类上,故不算在类所占内存上3.空指针调用成员函数空指针可以调用不含调用成员变量的成员函数,调用成员变量的成员函数可以事先判断this是否为空指针4.成员分为三种:private、protected、publicprivate可避免成员变量被修改,可在p...原创 2020-03-13 20:59:36 · 713 阅读 · 0 评论 -
C++面向对象——内联函数
内联函数1.内联函数与常规函数的区别不在于编写方式,而在于被调用的运行机制不同。2.内联函数中,编译器使用函数代码替换(复制)函数调用。「可以类比但不同于宏替换」3.内联函数优点:执行效率高4.如何使用内联特性?在函数声明或定义前使用关键字inline5.内联函数只会出现在编译器中,经编译器最终形成的可执行文件中不会存在内联函数6.若设定某函数为内联函数,则其定义与...原创 2020-03-13 21:00:40 · 211 阅读 · 0 评论 -
C++面向对象——友元函数
1.友元可以是函数(友元函数),也可以是一个类(友元类)。使用时在定义B时的public添加:[全局]friend void Func();[友元类B的]friend class A;[A的成员函数]friend void A::Func();其中函数类又分为全局函数和成员函数2.全局函数做友元时,全局函数的定义在类外部,它的声明有在类的定义中出现过,但并不是成员函数。...原创 2020-03-13 21:01:22 · 888 阅读 · 0 评论 -
C++面向对象——构造函数与析构函数、内存分区模型
目录构造函数构造函数的三种方法初始化列表拷贝构造函数浅拷贝与深拷贝诸多注意事项析构函数内存分区模型析构函数构造函数构造函数的三种方法1.括号法(常用)????:student stu01(”张三”,190110101);student stu02(stu01);2.显式法????:student stu01 = student(”...原创 2020-03-13 21:12:45 · 380 阅读 · 0 评论 -
C++面向对象——this指针
1.每个成员函数(包括构造和析构)都有一个this指针。2.在成员函数内部,this指针指向调用对象,即可以通过this关键字访问当前对象的成员。????:(1)访问成员变量:this->成员名;(2)访问成员函数:this->函数名();this是指向对象的指针,而*this则指向对象的本体????:student& stuAge(studen...原创 2020-03-13 21:16:11 · 681 阅读 · 0 评论 -
C++面向对象——函数重载与运算符重载
函数重载1.函数重载是指可以有多个同名的函数,或函数名相同,但参数列表不同(特征标不同)。2.函数重载满足的条件(1)在同一个作用域下(2)函数名称相同(3)函数的参数类型不同,或者个数不同,或者顺序不同3.函数的返回值不同(其他情况相同)不可以作为函数重载的条件4.注意避免出现同时定义以下两个函数的错误void Swap ( int a , int b )...原创 2020-03-13 21:27:48 · 211 阅读 · 0 评论