Sicily 2712 繼承與多型

2021-06-29 04:37:30 字數 1492 閱讀 2134

time limit: 1 secs, memory limit: 256 mb , framework judge

類sortalgorithm是排序演算法抽象類,類sortarray主要實現對陣列元素從小到大排序的功能,試完成這兩個類的定義,使得主函式的輸出為:

12 2 33 12 64 9 90 1 23 11

1 2 9 11 12 12 23 33 64 90

121 32 893 112 64 99 190 11 123 111

11 32 64 99 111 112 121 123 190 893

請注意,你可能需要修正sortalgorithm中的錯誤,你還需要定義sortalgorithm的相應派生類。

class sortalgorithm };

class sortarray

;int main();

sortarray sarray(a, 10);

sortalgorithm *pa;

pa = new ******selection;

sarray.setalgorithm(pa);

cout << sarray;

sarray.sortit();

cout << sarray;

delete pa;

int b[ ] = ;

sarray.setparam(b, 12);

pa = new bublesort;

sarray.setalgorithm(pa);

cout << sarray;

sarray.sortit();

cout << sarray;

delete pa;

return 0; }

// problem#: 2712

// submission#: 3376187

// the source code is licensed under creative commons attribution-noncommercial-sharealike 3.0 unported license

// uri:

#include using namespace std;

class sortalgorithm

};class ******selection:public sortalgorithm

};class bublesort:public sortalgorithm };

class sortarray

s << endl;

return s;

}public:

sortarray(int a, int n)

~sortarray()

void setparam(int a, int n)

void setalgorithm(sortalgorithm * sp)

void sortit()

};

繼承與多型

繼承 繼承是c 語言支援 重用及多型的重要機制。通過繼承,可以繼承可以在現有類的基礎上派生出新類,新類將共享現有類的成員,並且還可以新增新的成員。c 語言中,重用主要表現為可以使用現成的類 如.net框架類庫中的類 來定義新類,主要方法有組合和繼承兩種 繼承是物件導向程式設計支援 重用的另乙個重要機...

繼承與多型

虛函式只要在基類裡定義,所以繼承類都不用重新定義為虛函式,自動成為虛函式。虛函式必須有實現,普通成員函式在沒有呼叫時可以沒有實現 定義 class animal 只需要在基類定義函式為虛,子類中不需要新增virtual.smile函式在沒有呼叫時可以不實現。當有函式為虛函式時,析構函式應定義為vir...

繼承與多型

繼承需要符合的關係 is a,父類更通用 子類更具體 子類繼承父類的所有屬性和方法 不包括父類構造方法 super可以呼叫父類的方法和構造方法 子類可以重寫父類的方法 使用多型之後,當需要增加新的子類型別時,無需更改總部類,程式的可擴充套件性及可維護性增強 簡單來說,多型是具有表現多種形態的能力的特...