關於greater int 以及類模板的一些理解

2021-10-02 17:32:53 字數 727 閱讀 2868

1. 以greater類模板為例

template

<

class

t>

struct greater:

public binary functionbool

>

};

我們可以看到,greater原型如上,則單拿出greater來說,規定其為類模板。如果我們寫greater或者greater或者單精度浮點型之類的基本資料型別,我們就將其稱之為模板類。

利用這個類我們可以降序排列乙個資料容器,省得我們自己去寫compare函式了。不過需要注意的是,由於是利用類內過載()運算子作為類模板,從而定義模板類,最後藉以定義函式物件作為函式使用,所以greater是不完全等同於函式的。它只是乙個類。

因此我們在用sort函式進行排序時,如果想要呼叫greater等類模板,(原型:void sort (randomaccessiterator first, randomaccessiterator last, compare comp))我們需要新建乙個臨時物件。

如下:

sort;或者

sortint>()

>

;//降序排列

值得注意的是,我們需要在開頭include

關於抽象類 抽象方法以及介面

abstract修飾 抽象類不能被例項化,抽象類裡可以包含抽象方法也可以不包含 但有抽象方法的類必須是抽象類。抽象類可以包含 含有抽象方法的類,包括 只能定義為抽象類。利用抽象方法和抽象類的優勢,可以更好地發揮多型的優勢,使得程式更加靈活 abstract和final不能同時修飾同乙個類或方法 當使...

Date類以及Calendar類

date類和calendar類均是對時間進行的一些表示。首先來看一下date類的構造方法 date 根據當前的預設毫秒值建立日期物件 date long date 根據給定的毫秒值建立日期物件 system.out.println new date 結果 fri jun 05 15 09 27 cs...

關於學習以及知識

學習這種東西,在我看來,一定是要堅持的,如果不能持續的學習,一段時間學習一點東西,過了一段時間之後又忘掉,這種只是浪費時間而已。但是又除了原理性的知識,有時候需要學習的東西,需要在一段時間內拼命的血,以此去了解它,完全理解它,這就相當於一種思想,一種思維方式,一旦理解了就會印在你的腦海了,等到日後或...