-
公有继承 class A:public B 保护继承 class A:protected B 私有继承 class A:private B 公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。 派生类的成员只能访问基类中的public/protected成员,不能访问private成员; 派生类的对象只能访问基类中的public成员。 保护继承时基类中各成员属性均变为protected,且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,不能访问private成员;派生类的对象不能访问基类中的任何的成员。 私有继承时基类中各成员属性均变为private,且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,不能访问private成员 派生类的对象不能访问基类中的任何的成员。查看全部
-
通过宏定义来解决重定义的问题 #ifndef 文件名 #define 文件名 #endif查看全部
-
可以在子类的初始化列表中将父类的构造函数初始化查看全部
-
虚析构函数查看全部
-
多个子类继承同个父类是多继承查看全部
-
多重继承 类3继承类2,类2继承类1 class person{}; class soldier:public person{}; class bubing:public soldier{};查看全部
-
多继承 class migrant:public worker,public farmer{};查看全部
-
#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; }查看全部
-
精辟,简洁查看全部
-
父类只能调用父类的数据成员和成员函数查看全部
-
父子关系,成员同名,隐藏查看全部
-
子类的对象可以赋值给父类,也可以用父类的指针指向子类查看全部
-
私有继承时父类的public和protected成员会被继承到派生类的private下查看全部
-
公有继承、私有继承和保护继承的形式查看全部
-
多重继承就是连续单继承,多继承就是子类同时拥有多个父类 多继承关系,默认private继承查看全部
举报
0/150
提交
取消