1.類型兼容性原則

  在上一節(jié)的C++中的繼承中介紹了什么是類型兼容性原則。所謂的類型兼容性原則是指子類公有繼承自父類時,包含了父類的所有屬性和方法,因此父類所能完成的功能,使用子類也可以替代完成,子類是一種特殊的父類。所以可以使用子類對象初始化父類對象,可以用父類指針指向子類對象,可以用父類引用來引用子類對象。

2.函數(shù)的重寫

  函數(shù)的發(fā)生在類的繼承過程中,所謂的函數(shù)的重寫是指在繼承中,子類定義了與父類函數(shù)原型相同的函數(shù),即定義了和父類中一樣的函數(shù)。

3.類型兼容性原則遇上函數(shù)的重寫

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

# include<iostream>using namespace std;/* 定義父類 */class Parent
{public:    /* 定義print函數(shù) */
    void print()
    {
        cout << "Parent print()函數(shù)" << endl;
    }
};/* 定義子類繼承自父類,并重寫父類的print函數(shù) */class Child :public Parent
{public:    /* 重寫父類的print函數(shù) */
    void print()
    {
        cout << "Child print()函數(shù)" << endl;
    }
};int main()
{
    Child c;    /* 調用子類對象的print函數(shù),打印子類的print函數(shù) */
    c.print();    /* 通過使用作用域操作符調用父類的print函數(shù),打印父類的print函數(shù) */
    c.Parent::print();    /* 當我們使用類型兼容性原則的時候,發(fā)現(xiàn)調用的函數(shù)是父類的print函數(shù),這是符合編譯器規(guī)則的 */
    Parent p1 = c;
    p1.print();

    Parent * 
        
		

網友評論