摘要: 1.**默认的赋值重载** class MM { public: MM() {} MM(string name, int age) :name(name), age(age) {} MM(const MM& obj) { this->name = obj.name; this->age = obj. 阅读全文
posted @ 2021-09-06 10:21 Creature_lurk 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1.基本重载 + 友元函数的方式实现重载+ 类成员函数的方式实现重载 重载函数的基本语法: 重载函数的返回值类型 operator 要重载的运算符(参数){函数体;}; 参数个数: + 友元重载 重载函数的参数个数等于运算符的操作数+ 类成员函数重载,重载函数参数个数是等于运算符的操作数-1 cla 阅读全文
posted @ 2021-09-05 22:01 Creature_lurk 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1.友元 friend关键字,友元赋予对象具有打破权限限定的一个功能,并不是能够直接访问类中数据 2.友元函数 在类中用friend修饰的函数 称之为友元 在友元函数中 的对象具有打破权限限定,以一个对象为参数或者在当前函数中定义的对象,友元函数不属于类,所以不受权限限定 + 普通函数是友元函数 c 阅读全文
posted @ 2021-09-05 20:36 Creature_lurk 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 1.单例模式(不考虑多线程) 构造函数私有化。 提供静态公有接口访问对象。 1.1懒汉式(在多线程下存在安全问题) 1.2饿汉式 //懒汉式 namespace lanHan { class MM { public: static MM* getMM() { if (lpMM == nullptr) 阅读全文
posted @ 2021-09-04 22:32 Creature_lurk 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1.static成员 static成员特性: 它的调用可以不需要对象,它整个类共有的,(所有对象用的都是同一个),不是某一个对象单独属性。static 的成员虽然不需要对象就可以调用,但是依然是类的权限限定的 + static数据成员 + static 修饰的数据成员,就是静态数据成员 + 不能在类 阅读全文
posted @ 2021-09-04 14:04 Creature_lurk 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 1.const成员 + const数据成员 + 其他地方不能修改const 数据成员 + 初始化必须采用初始化参数列表的方式进行初始化 class MM { public: //const成员必须采用初始化参数列表 MM(string name,int age,int id):name(name), 阅读全文
posted @ 2021-09-04 13:52 Creature_lurk 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 1.拷贝构造 + 它是一个特殊的构造函数+ 参数是唯一的:对对象的引用+ 作用: 实现通过对象去构造对象 namespace myData { class Girl { public: //Girl() { cout << "默认构造" << endl; } Girl(string name) :n 阅读全文
posted @ 2021-09-04 04:12 Creature_lurk 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 1.构造函数 构造函数的特征 + 名字和类名相同+ 没有返回值+ 不写构造函数会存在一个默认的构造函数(无参),如果写了,默认的就不存在+ 构造函数不需要自己调用,创建对象的时候调用构造函数+ 构造函数的长相决定了对象模样(参数个数)+ 构造函数的作用: 一般来说就是为数据做初始化+ 可以被重载(参 阅读全文
posted @ 2021-09-04 03:16 Creature_lurk 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 1.类与对象小案例(封装按钮) #include <graphics.h> #include <iostream> #include <string> using namespace std; class Button { public: Button() = default; Button(int 阅读全文
posted @ 2021-09-04 02:15 Creature_lurk 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 1.类与对象基本概念 /* 类:对一系列事物的的共同属性或者行为的一种抽象 用class修饰的(结构体在C++中也可以当作类) 属性:事物的特征 -->数据成员 行为:具体的操作 -->成员函数 对象:类的具体化 */ //1.定义一个类 namespace myData { //用namespac 阅读全文
posted @ 2021-09-04 01:36 Creature_lurk 阅读(38) 评论(0) 推荐(0) 编辑