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;
}