C 中Override的兩個例子

2021-09-05 19:26:08 字數 903 閱讀 4746

* main.cc
*
*  created on: 2008-8-5
*      author: administrator
*/
#include
class base
};
class derived : public base
};
int main(int arg, char **args)

結果:derived::clone()

derived::clone()

可以看到,雖然返回型別不完全相同,但是父類中返回值是乙個指標或引用,子類override時可以返回這個指標(或引用)的派生,可見這種情況下,override成功了

再看下例:

#include
class base
virtual

void copy(base&)

};
class derived : public base
void copy(derived&)
};
int main(int arg, char **args)

結果:derived::copy()

base::copy()

可見這種情況下,override並沒有發生,hide發生了將

改為:

則可以override成功!

C 從兩個例子理解async await

輸出的結果為 可以看出執行的結果為 a d b c e.我們再看下乙個例子 注意,我們把 中d和e的位置交換 結果 結果為 a b c e d async方式,使用async標記test為非同步方法,用await標記task表示方法內需要耗時的操作。主線程碰到await時會立即返回,繼續以非阻塞形式...

C 從兩個例子理解async await

輸出的結果為 可以看出執行的結果為 a d b c e.我們再看下乙個例子 注意,我們把 中d和e的位置交換 結果 結果為 a b c e d async方式,使用async標記test為非同步方法,用await標記task表示方法內需要耗時的操作。主線程碰到await時會立即返回,繼續以非阻塞形式...

關於演算法的兩個例子

def brute force li,target n len li for i in range 0,n for j in range i 1,n if li i li j target return i,jdef bin search li,val low 0 high len li 1 whi...