类的赋值兼容原则
类型兼容性原则
类型兼容规则是指在需要基类对象的任何地方,都可以使用公有派生类
的对象来替代。通过公有继承,派生类得到了基类中除构造函数、析构函数之
外的所有成员。这样,公有派生类实际就具备了基类的所有功能,凡是基类能
解决的问题,公有派生类都可以解决。
类型兼容规则中所指的替代包括以下情况:


在替代之后,派生类对象就可以作为基类的对象使用,但是只能使用从基类继
承的成员。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| #define _CRT_SECURE_NO_WARNINGS #include <iostream>
using namespace std;
class Parent { public: void printP() { cout << "Parent::printP()..." << endl; } int a; };
class Child :public Parent { public: void printC() { cout << "Child:: printC()...." << endl; } int b; };
void print(Parent *p) { p->printP(); }
int main(void) { Child c; c.printP();
Parent p = c;
Parent *pp = &c; pp->a;
Parent &pr = c;
print(&p);
print(&c);
return 0; }
|