摘要:
1.赋值(=)运算符重载 赋值符常常初学者的混淆。这是毫无疑问的,因为’=’在编程中是最基本的运算符,可以进行赋值操作,也能引起拷贝构造函数的调用。 class Person{ friend ostream& operator<<(ostream& os,const Person& person){ 阅读全文
摘要:
1.视频内容 程序1: #pragma warning(disable:4996) #include <iostream> using namespace std; void test() { int a; cin >> a; cout << a << endl; } class Maker { f 阅读全文
摘要:
1.视频内容 程序1: #pragma warning(disable:4996) //2022年10月5日21:11:12 #include <iostream> using namespace std; class Maker { public: Maker(int id, string nam 阅读全文
摘要:
1.前置和后置(++/--)运算符重载 重载的++和--运算符有点让人不知所措,因为我们总是希望能根据它们出现在所作用对象的前面还是后面来调用不同的函数。解决办法很简单,例如当编译器看到++a(前置++),它就调用operator++(a),当编译器看到a++(后置++),它就会去调用operato 阅读全文
摘要:
1 运算符重载 1.1 运算符重载基本概念 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。(运算符重载不能改变本来寓意,不能改变基础类型寓意) 运算符重载(operator overloading)只是一种”语法上的方便”,也就是它只是另一种函数调用的方式。 在 阅读全文
摘要:
程序1: 01数组类.cpp: #pragma warning(disable:4996) //2022年10月2日20:33:53 #include <iostream> using namespace std; #include "MyArray.h" void printMyArray(MyA 阅读全文
摘要:
1.视频内容 程序1: #pragma warning(disable:4996) //2022年9月30日20:00:15 #include <iostream> using namespace std; //单例模式是一个类只能实例化一个对象 class Maker { //1.把构造函数私有化 阅读全文
摘要:
程序1: #pragma warning(disable:4996) #include <iostream> using namespace std; class Maker { public: Maker() { a = 20; } void printMaker()//this指针 { if ( 阅读全文
摘要:
1.友元 类的主要特点之一是数据隐藏,即类的私有成员无法在类的外部(作用域之外)访问。但是,有时候需要在类的外部访问类的私有成员,怎么办? 解决方法是使用友元函数,友元函数是一种特权函数,c++允许这个特权函数访问私有成员。这一点从现实生活中也可以很好的理解: 比如你的家,有客厅,有你的卧室,那么你 阅读全文
摘要:
1.const修饰成员函数 ●用const修饰的成员函数时,const修饰this指针指向的内存区域,成员函数体内不可以修改本类中的任何普通成员变量, ● 当成员变量类型符前用mutable修饰时例外。 //const修饰成员函数 class Person{ public: Person(){ th 阅读全文