摘要: RTTI、dynamic_cast、typeid、虚函数表 RTTI(Run Time Type Identification):运行时类型识别 > 基类中必须至少要有一个虚函数 Human * phuman = new Men; Human& q = *phuman; 通过运行时类型识别,程序能够 阅读全文
posted @ 2024-10-27 17:01 爱新觉罗LQ 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 友元(突破 private 限制) 友元函数 只要让函数 func 成为类 Men 的友元函数,那么 func 这个函数就能够访问类 Men 的所有成员(成员变量、成员函数),private、protected 总结: 友元函数 func(。。。) 是个函数,通过声明为某个类 Men 的友元函数,它 阅读全文
posted @ 2024-10-27 17:00 爱新觉罗LQ 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 多态 基类指针 // 父类指针可以 new 一个子类对象 Human *pman = new Man(); Human *pwman = new Wonan(); 抛出问题:父类指针没有办法调用子类的成员函数,那么你为什么还让父类指针 new 一个子类对象呢? 下面与虚函数搭配 虚函数(动态绑定) 阅读全文
posted @ 2024-10-26 00:56 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 派生类 1. 派生类 2. 派生类对象定义时调用构造函数的顺序 Man man; 3. public、protected、private 4. 函数遮蔽 子类中强制调用父类的方法 方法一 方法二 子类中使用 using C++11:让父类同名函数在子类中可见 // 只能指定函数名,则凡是基类中的 p 阅读全文
posted @ 2024-10-22 01:05 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 重载运算符、析构函数 1. 重载运算符 2个对象进行 == 比较,重载 == 运算符 说白了,就是,写一个成员函数,这个成员函数名 "operator==",这个成员函数体里边写一些比较逻辑 // 定义 Time& operator=(const Time& tmpobj) // 实现 Time& 阅读全文
posted @ 2024-10-20 19:03 爱新觉罗LQ 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 类内初始化、默认初始函数、=default; 类相关非成员函数 类内初始化 const成员变量的初始化 默认构造函数 =default;,=delete 阅读全文
posted @ 2024-10-15 00:49 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要: inline、const、mutable、this、static 在类定义中实现成员函数 incline 成员函数末尾的 const(声明和实现中都要加上 const) 作用:告诉系统,这个成员函数不会修改该对象里任何成员变量的值等等,也就是说,这个成员函数不会修改类 Time的任何状态。 > 也叫 阅读全文
posted @ 2024-10-13 23:58 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要: C++类 类 // public 成员提供类的接口,暴漏给外界,供外界使用 // private:提供各种实现类功能的细节方法,但不暴漏给使用者,外界无法使用 // 注意:struct 是成员默认为 public 的 class、class 成员默认是 private class student{ 阅读全文
posted @ 2024-10-09 22:04 爱新觉罗LQ 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 类型转换 1. static_cast(静态转换) 编译的时候就会进行类型转换,代码中要保证转换的安全性和正确性 可用于: 相关类型转换,比如:整型和实型之间的转换 子类型转成父类类型(向上转型) void * 与其它类型指针之间的转换(void *:无指针类型,可以指向任何指针类型(万能指针)) 阅读全文
posted @ 2024-10-07 23:57 爱新觉罗LQ 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 修改网页内容 控制台输入代码 document.body.isContentEditable=true document.body.isContentEditable=true 阅读全文
posted @ 2024-09-28 16:07 爱新觉罗LQ 阅读(3) 评论(0) 推荐(0) 编辑