摘要: 1. static修饰的变量随变量的加载而加载,比对象要早。 2. 静态成员函数只能用静态的东西,非静态成员函数都能用(静态+非静态) 3. 可以使用对象调用静态的东西,可以使用类直接调用静态的东西,如:A::get(); 阅读全文
posted @ 2018-07-05 20:26 Jary霸 阅读(114) 评论(0) 推荐(0)
摘要: 注意:两个类不能相互包含 阅读全文
posted @ 2018-07-05 16:47 Jary霸 阅读(115) 评论(0) 推荐(0)
摘要: 复杂一点的: 阅读全文
posted @ 2018-07-05 15:18 Jary霸 阅读(110) 评论(0) 推荐(0)
摘要: dynamic_cast注意: 1.只能应用于指针和引用的转换; 2.要转换的类型中必须包含虚函数; 3.转换成功则返回地址,如果失败则返回NULL; 参见项目:RTTI 阅读全文
posted @ 2018-07-05 11:29 Jary霸 阅读(116) 评论(0) 推荐(0)
摘要: 含有纯虚函数的类是抽象类,抽象类不能实例化对象。 仅含有纯虚函数的类叫接口类(无成员变量)。 如果某个类的虚函数没有被实现,则该类不能实例化对象。 如果想要派生类实现虚函数,则基类的虚函数置0(此时为纯虚函数)或者基类的虚函数也实现了。 如果基类有纯虚函数,则派生类中必须实现它 虚函数注意: 阅读全文
posted @ 2018-07-04 21:00 Jary霸 阅读(158) 评论(0) 推荐(0)
摘要: 多态:在继承的基础上,函数名相同,但不同对象调用时,行为不同。(需要加上virtual) 例如:已知A继承B(A:子类,派生类;B:基类,父类) 则:B *p=new A(); 若B里面有virtual修饰某个函数,而A里面也有相同的函数名,那么就可以通过p调用A的那个函数;若是没有virtual修 阅读全文
posted @ 2018-07-04 16:17 Jary霸 阅读(126) 评论(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霸 阅读(139) 评论(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霸 阅读(107) 评论(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霸 阅读(100) 评论(0) 推荐(0)
摘要: 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。3、protected:protect 阅读全文
posted @ 2018-07-03 11:38 Jary霸 阅读(144) 评论(0) 推荐(0)