摘要: 复杂一点的: 阅读全文
posted @ 2018-07-05 15:18 Jary霸 阅读(100) 评论(0) 推荐(0) 编辑
摘要: dynamic_cast注意: 1.只能应用于指针和引用的转换; 2.要转换的类型中必须包含虚函数; 3.转换成功则返回地址,如果失败则返回NULL; 参见项目:RTTI 阅读全文
posted @ 2018-07-05 11:29 Jary霸 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 含有纯虚函数的类是抽象类,抽象类不能实例化对象。 仅含有纯虚函数的类叫接口类(无成员变量)。 如果某个类的虚函数没有被实现,则该类不能实例化对象。 如果想要派生类实现虚函数,则基类的虚函数置0(此时为纯虚函数)或者基类的虚函数也实现了。 如果基类有纯虚函数,则派生类中必须实现它 虚函数注意: 阅读全文
posted @ 2018-07-04 21:00 Jary霸 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 多态:在继承的基础上,函数名相同,但不同对象调用时,行为不同。(需要加上virtual) 例如:已知A继承B(A:子类,派生类;B:基类,父类) 则:B *p=new A(); 若B里面有virtual修饰某个函数,而A里面也有相同的函数名,那么就可以通过p调用A的那个函数;若是没有virtual修 阅读全文
posted @ 2018-07-04 16:17 Jary霸 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1. 多重继承:A继承B,C继承A 2. 多继承:A继承B,C,D等等 class A:public B,public C{ } 参见项目:MultipleInheritance 阅读全文
posted @ 2018-07-03 22:35 Jary霸 阅读(123) 评论(0) 推荐(0) 编辑
摘要: class Student:Person{ }; Student s; 1. Person p=s; // 可以将具体的赋值给大的,指针也行。 2. Person * p=new Student; delete p; p=NULL; 此时只调用Person的析构函数,没有调用Student的析构函数 阅读全文
posted @ 2018-07-03 22:32 Jary霸 阅读(100) 评论(0) 推荐(0) 编辑
摘要: class Soldier:public Person{ public: void go(); }; class Person{ public: void go(); }; Soldier s; s.go(); // 调用的是Soldier类中的go() s.Person::go(); //调用父类 阅读全文
posted @ 2018-07-03 16:53 Jary霸 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。3、protected:protect 阅读全文
posted @ 2018-07-03 11:38 Jary霸 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 例如: class worker:public person{ }; 1. 继承person,person叫基类,worker叫派生类。 2. 实例化对象时,顺序:基类的构造->派生类的构造->派生类的析构->基类的析构 3. worker就有了person的全部成员了(除了person的priva 阅读全文
posted @ 2018-07-03 10:22 Jary霸 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 数据结构探险之线性表篇:顺序表编码实战(八) 数据结构探险之线性表篇:第四章 数据结构探险—队列篇:5-1 队列的实际应用 C++远征之模板篇:第6章 标准模板类 阅读全文
posted @ 2018-06-30 22:14 Jary霸 阅读(62) 评论(0) 推荐(0) 编辑