C++兩大核心思想:面向對象和泛型編程
面向對象的三大特性:封裝,繼承,多態
無論是實際項目還是面試中,多態都是隨處可見。----------------爲什麼呢?-----------------因爲它很牛逼
code:
#include<iostream>
using namespace std;
class Bass
{
public:
Bass()
{
}
virtual int GetSum(int n)
{
return 0;
}
};
Bass *gRun[2] = {NULL};
class Calculate:public Bass
{
public:
Calculate()
{}
int GetSum(int n)
{
return gRun[!!n]->GetSum(n - 1) + n; //!!雙重否定表肯定,在C/C++中0表示假(false:0),非零表示真(true:1)
//假設n=100, n爲true則!n=0,那!!n=1(對於一個非0的數,!!n==true==1)
//假設n=0, n爲false則!n爲真=1,!!n爲假=0
}
};
int main()
{
Bass bass;
gRun[0] = &bass;
Calculate cal;
gRun[1] = &cal;
int sum = cal.GetSum(100);
cout << "sum = " << sum << endl; //sum = 5050
system("pause");
return 0;
}