09 2022 档案

摘要:1.视频内容 程序1: #pragma warning(disable:4996) //2022年9月30日20:00:15 #include <iostream> using namespace std; //单例模式是一个类只能实例化一个对象 class Maker { //1.把构造函数私有化 阅读全文
posted @ 2022-09-30 20:28 CodeMagicianT 阅读(23) 评论(0) 推荐(0) 编辑
摘要:程序1: #pragma warning(disable:4996) #include <iostream> using namespace std; class Maker { public: Maker() { a = 20; } void printMaker()//this指针 { if ( 阅读全文
posted @ 2022-09-30 19:40 CodeMagicianT 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.友元 类的主要特点之一是数据隐藏,即类的私有成员无法在类的外部(作用域之外)访问。但是,有时候需要在类的外部访问类的私有成员,怎么办? 解决方法是使用友元函数,友元函数是一种特权函数,c++允许这个特权函数访问私有成员。这一点从现实生活中也可以很好的理解: 比如你的家,有客厅,有你的卧室,那么你 阅读全文
posted @ 2022-09-30 19:10 CodeMagicianT 阅读(69) 评论(0) 推荐(0) 编辑
摘要:1.const修饰成员函数 ●用const修饰的成员函数时,const修饰this指针指向的内存区域,成员函数体内不可以修改本类中的任何普通成员变量, ● 当成员变量类型符前用mutable修饰时例外。 //const修饰成员函数 class Person{ public: Person(){ th 阅读全文
posted @ 2022-09-26 19:01 CodeMagicianT 阅读(104) 评论(0) 推荐(0) 编辑
摘要:# **1**.this指针工作原理 我们知道,C++的数据和操作也是分开存储,并且每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码 那么问题是:这一块代码是如何区分那个对象调用自己的呢? ![](https://img2022.cnblogs.com/blog/26 阅读全文
posted @ 2022-09-22 21:19 CodeMagicianT 阅读(70) 评论(0) 推荐(0) 编辑
摘要:程序1: #pragma warning(disable:4996) //2022年9月21日19:20:29 #include <iostream> using namespace std; //1.空类的大小是1,不是0 class Maker { }; void test01() { cout 阅读全文
posted @ 2022-09-22 19:16 CodeMagicianT 阅读(25) 评论(0) 推荐(0) 编辑
摘要:程序1: #pragma warning(disable:4996) //2022年9月21日19:20:29 #include <iostream> using namespace std; class Maker { public: Maker() { a = 20; } public: //1 阅读全文
posted @ 2022-09-21 21:09 CodeMagicianT 阅读(33) 评论(0) 推荐(0) 编辑
摘要:程序1: //2022年9月20日22:06:27 #include <iostream> #pragma warning(disable:4996) using namespace std; //1.new创建基础类型的数组 void test01() { //申请基础数据类型的数组 int * 阅读全文
posted @ 2022-09-21 19:18 CodeMagicianT 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1.申请和释放变量空间 1.为什么要有新的方法申请和释放堆区空间 因为用C语言的方式不会调用构造和析构函数 2.C++中申请堆区空间和释放堆区空间用什么关键字 申请堆区空间用new,释放空间用delete class Maker { public: Maker() { cout << "构造函数" 阅读全文
posted @ 2022-09-20 21:19 CodeMagicianT 阅读(57) 评论(0) 推荐(0) 编辑
摘要:c++提供了关键字explicit,禁止通过构造函数进行的隐式转换。声明为explicit的构造函数不能在隐式转换中使用。 [explicit注意] ● explicit用于修饰构造函数,防止隐式转化。 ● 是针对单参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造)而言。 class 阅读全文
posted @ 2022-09-20 20:32 CodeMagicianT 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1 explicit关键字: 只能写在构造函数前面,只是针对Maker maker=10;防止该形式的代码,叫编译器不要优化成Maker maker=Maker(10) 2 new和delete 2.1 new :从堆区申请空间,做初始化工作(调用类的构造函数),返回的是指针 2.2 delete: 阅读全文
posted @ 2022-09-20 20:04 CodeMagicianT 阅读(20) 评论(0) 推荐(0) 编辑
摘要:01.explicit的作用(了解) class Maker { public: //explicit只能放在构造函数前面,构造函数只有一个参数或其他参数有默认值时 explicit Maker(int n)//防止编译器优化Maker m=10;这种格式 { } }; int main() { / 阅读全文
posted @ 2022-09-20 19:57 CodeMagicianT 阅读(28) 评论(0) 推荐(0) 编辑
摘要:程序1: //2022年9月15日08:39:35 #include <iostream> using namespace std; class Maker { public: int mId; int mAge; public: Maker(int id, int age) { mId = id; 阅读全文
posted @ 2022-09-15 21:28 CodeMagicianT 阅读(24) 评论(0) 推荐(0) 编辑
摘要:# 1.注意事项 1.如果类有成员对象,那么先调用成员对象的构造函数,再调用本身的构造函数,析构函数的调用顺序反之 2.成员对象的构造函数调用和定义顺序一样 3.注意,如果有成员对象,那么实例化对象时,必须保证成员对象的构造和析构能被调用 **程序1:** ```C++ #pragma warnin 阅读全文
posted @ 2022-09-14 13:10 CodeMagicianT 阅读(25) 评论(0) 推荐(0) 编辑
摘要://2022年9月14日08:17:15 #include <iostream> using namespace std; class Maker { public: Maker(int a) { cout << "有参构造函数" << endl; } }; //1.如果程序员提供了有参构造,那么编 阅读全文
posted @ 2022-09-14 08:39 CodeMagicianT 阅读(25) 评论(0) 推荐(0) 编辑
摘要://2022年9月9日09:54:59 #include <iostream> using namespace std; class Maker { public: Maker() { cout << "无参构造函数" << endl; } Maker(int a) { cout << "有参构造函 阅读全文
posted @ 2022-09-12 10:53 CodeMagicianT 阅读(24) 评论(0) 推荐(0) 编辑
摘要://2022年9月9日09:21:51 #include <iostream> using namespace std; class Maker { public: //按照参数分类 Maker() { cout << "无参构造" << endl; } Maker(int a) { cout << 阅读全文
posted @ 2022-09-12 10:50 CodeMagicianT 阅读(44) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> using namespace std; class Maker { private: int a; public: Maker() { cout << "无参构造函数" << endl; a = 20; } //拷贝构造函数 Maker(const Make 阅读全文
posted @ 2022-09-12 10:48 CodeMagicianT 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1.函数重载是:允许函数名相同,这种现象叫函数重载 2.函数重载的作用:是为了方便使用函数名 3.函数重载的条件:同一个作用域,参数的个数不同,参数的顺序不同,参数的类型不同 //参数的个数不同 void func() { cout << "func()" << endl; } void func( 阅读全文
posted @ 2022-09-12 10:41 CodeMagicianT 阅读(101) 评论(0) 推荐(0) 编辑
摘要:当且仅当没有定义任何构造函数时,编译器才会提供默认构造函数。为类定义了构造函数后,程序员就必须为它提供默认构造函数。如果提供了非默认构造函数(如Stock(const char *co, int n, double pr)),但没有提供默认构造函数,但没有提供默认构造函数,则下面的声明将出错: St 阅读全文
posted @ 2022-09-12 10:35 CodeMagicianT 阅读(37) 评论(0) 推荐(0) 编辑
摘要:文章内容 构造函数和析构函数的由来? 构造函数和析构函数的基本语法 C++编译器构造析构方案 PK 对象显示初始化方案 构造函数的分类以及调用 默认的构造函数 构造函数调用规则 构造函数和析构函数的总结 例子 1.构造函数和析构函数的由来? 类的数据成员不能在类的声明时候初始化,如何解决这个问题? 阅读全文
posted @ 2022-09-05 13:07 CodeMagicianT 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1 构造函数和析构函数 1.1 构造函数:对象创建时调用构造函数,构造函数是初始化对象的属性 1.2 析构函数:对象在销毁前调用析构函数,析构函数做清理工作 1.3 构造函数分类:无参构造,有参构造,拷贝构造 1.4 编译器给类提供了什么函数:默认构造函数(无参),默认拷贝构造,析构函数,默认的赋值 阅读全文
posted @ 2022-09-05 07:58 CodeMagicianT 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.立方体案例(了解) 1.抽象立方体:属性,长宽高,方法:设置和获取属性的方法,判断两个立方体是否相等的方法 2.一个对象必须要初始化成员变量 3.成员函数中隐藏了一个本类的对象 2.点和圆的案例(了解) 1.抽象点:属性有点的坐标,方法:设置和获取坐标的方法 2.抽象圆:属性有圆心和半径,方法: 阅读全文
posted @ 2022-09-05 07:56 CodeMagicianT 阅读(29) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示