C++复习
学习笔记整理
郡酱~
这个作者很懒,什么都没留下…
展开
-
C _复习10(友元函数与友元类)
一、友元函数1.1 友元函数的定义类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。1.2 友元函数的特点友元函数破坏了类的私有性 友元函数是一个全局函数 友元函数形式:一般情况下都包含类的指针或引用 友元函数在public之下或者是private下都无...原创 2019-11-05 14:23:44 · 213 阅读 · 0 评论 -
C _复习07(静态成员变量和成员函数)
一、静态成员变量与成员函数的一些规则关键字 static 可以用于说明一个类的成员为静态成员变量,静态成员变量提供了一个同类对象的共享机制 把一个成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个static成员 静态成员局部于类,他不是对象成员!二、代码展示#include <iostream>using namespace std;...原创 2019-10-16 15:15:36 · 95 阅读 · 0 评论 -
C++_复习06(对象的动态建立和释放 _ new和delete操作符)
一、对象的动态建立和释放1.1.1 前言在C语言中利用库函数 malloc 和 free 来分配和撇销内存空间。 C++ 提供较简使而功能较强的运算符new和delete类取代malloc和free函数。特别注意:new和delete是运算符,并不是函数,因此执行效率高! 为了兼容C语言,c++仍然保留 malloc 和 free 函数,但是建议不要使用,而是使用 new和delete...原创 2019-10-16 15:06:46 · 342 阅读 · 0 评论 -
C++_复习08(面向对象模型的探讨及内存四区)
一、前言C++对象模型可以概括为一下两个部分:语言中支持面向对象程序设计的部分,主要涉及如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等。 对于各种支持的底层实现机制:在C语言中,“ 数据 ” 和 “ 处理数据的操作(函数) ”是分开来声明的,也就是说,语言本身并没有支持“数据和函数”之间的关联性。在c++中,通过抽象数据类型(abstract data type,...原创 2019-10-16 11:08:44 · 137 阅读 · 0 评论 -
C++_复习05(构造函数的初始化列表)
一、对象初始化列表1.1 对象初始化列表的原因如果我们有一个类成员.它本身是一个类或者是一个结构,而且这个成员它只有一个带参数 的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果役有初始化列表,那么他将无法完成第一步.就会报错。 类成员中若有const修饰.必须在对象初始化的时候给const int m赋值当类成员中含有cons...原创 2019-10-14 11:03:39 · 143 阅读 · 0 评论 -
C++_复习04(拷贝构造函数的深拷贝和浅拷贝)
一、为什么会出现深拷贝和浅拷贝 在我们没有自定义拷贝构造函数的时候,传递对象给函数或者函数返回对象都能进行是因为C++编译器会给我们自动的产生一个拷贝构造函数,这就是“默认拷贝构造函数”,这个构造函数很简单,仅仅是使用“老对象”的值对“新对象”的数据成员依次进行赋值操作。二、浅拷贝问题抛出2.1 问题描述及代码在不写拷贝构造函数的时候,使用C++编译器的默认拷贝构造函数运行...原创 2019-10-14 09:44:03 · 153 阅读 · 0 评论 -
C++_复习03(拷贝构造函数的三种调用场景)
一、拷贝构造函数的定义及作用拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量。拷贝函数用于对象的初始化。 例:一个简单得拷贝函数如下class Test3{public: Test3(const Test3&obj) { a = obj.a + 100; b = obj.b + 100; cout <&...原创 2019-10-11 16:29:25 · 960 阅读 · 0 评论 -
C++_复习02(构造函数的分类及构造函数的意义)
一、构造函数的分类构造函数分为三类:无参数构造函数 有参数构造函数(有3种使用形式) 赋值构造函数或叫拷贝构造函数(初始化与赋值是两个概念期间只会调用一次构造函数!!)二、构造函数分类演示此处特别注意:C++对等号操作符进行了功能性增强 有参数构造函数第二种使用方法时要注意逗号表达式,逗号表达式的最后一个值是才是这个表达式的值 如:Test2 t2_22 = (3, ...原创 2019-10-09 09:23:38 · 198 阅读 · 0 评论 -
VS2017下C++中strcpy()函数和strcpy_s()函数的使用及注意事项
一、问题描述在VS2017下使用 strcpy() 函数时会出先报错,根据所给报错提示“Consider using strcpy_s instead.”二、解决方法使用strcpy_s函数替代。先看看strcpy_s的定义: _Check_return_wat_ _ACRTIMP errno_t __cdecl strcpy_s( _Out_writ...原创 2019-10-11 15:21:44 · 8977 阅读 · 17 评论 -
C++_复习01(构造函数与析构函数的基本概念与应用)
一、类的构造和析构的基本概念1.1 构造函数和析构函数的概念构造函数的定义:C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数。 构造函数在定义的时候可以有参数 没有任何返回类型的声明构造函数的调用:自动调用:一般情况下C++编译器会自动调用构造函数 手动调用:在一些情况下则需要手工调用构造函数析构函数的定义:C++中的类可以定义一个特...原创 2019-10-09 09:13:34 · 156 阅读 · 0 评论