-
多继承代码实现查看全部
-
多继承查看全部
-
多重继承查看全部
-
多继承查看全部
-
Person类查看全部
-
基类和子类的继承关系查看全部
-
派生类的对象可以赋给基类。查看全部
-
解决重定义的技巧:宏定义查看全部
-
工人类在继承 人类时候 加入 vitual查看全部
-
多继承查看全部
-
区别多继承 & 多重继承查看全部
-
#include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定义人类: Person * 数据成员: m_strName * 成员函数: attack() */ class Person { public: string m_strName; void attack() { cout << "attack" << endl; } }; /** * 定义士兵类: Soldier * 士兵类公有继承人类 * 数据成员: m_strName * 成员函数: attack() */ class Soldier:public Person { public: string m_strName; void attack() { cout << "fire!!!" << endl; } }; int main(void) { // 实例士兵对象 Soldier soldier; // 向士兵属性赋值"tomato" soldier.m_strName = "tomato"; // 通过士兵对象向人类属性赋值"Jim" soldier.Person::m_strName = "Jim"; // 打印士兵对象的属性值 cout << soldier.m_strName << endl; // 通过士兵对象打印人类属性值 cout << soldier.Person::m_strName << endl; // 调用士兵对象方法 soldier.attack(); // 通过士兵对象调用人类方法 soldier.Person::attack(); return 0; }查看全部
-
在main函数中分别调用Soldier中的play()函数和Person中的play()函数的方法。用双冒号查看全部
-
#include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定义人类: Person * 数据成员: m_strName * 成员函数: attack() */ class Person { public: string m_strName; void attack() { cout << "attack" << endl; } }; /** * 定义士兵类: Soldier * 士兵类公有继承人类 * 数据成员: m_strName * 成员函数: attack() */ class Soldier:public person { public: string m_strName; void attack() { cout << "fire!!!" << endl; } }; int main(void) { // 实例士兵对象 Soldier s; // 向士兵属性赋值"tomato" s.m_strName = "tomato"; // 通过士兵对象向人类属性赋值"Jim" s.Person::m_strName= "Jim"; // 打印士兵对象的属性值 cout << soldier.m_strName << endl; // 通过士兵对象打印人类属性值 cout << soldier.Person::m_strName << endl; // 调用士兵对象方法 s.attack(); // 通过士兵对象调用人类方法 ? s.Person::attack(); return 0; }查看全部
-
父类继承子类 调用构造函数 先父类 后子类 销毁时候却只有父类 从而子类可能存在内存泄露的问题 从而利用“虚析构函数” 加上“virtual”查看全部
举报
0/150
提交
取消