C++基础 - 纯虚函数/模板函数

1,109 阅读1分钟

c++没有抽象类的概念,也没有接口,也没有实现。只有类的概念。

纯虚函数类似于java中的抽象类。没有函数体,是由定义。虚函数则有函数体。

纯虚函数

纯虚函数子类必须进行实现。和java中的抽象类一个概念。

class BaseActivity
{
public:
        void onCreate(){
               initView();
               initData();
        }
        virtual void initData() = 0;  // 纯虚函数
        virtual void initView() = 0;
};
class MainActivity : public BaseActivity
{
public:
        void initData(){ // 必须要进行函数的实现。
               cout << "MainActivity initData" << endl;
        }
        void initView(){
               cout << "MainActivity initView" << endl;
        }
};
void main(){
        MainActivity * m = new MainActivity();
        m->onCreate();
        getchar();
}

接口 如果类的所有函数都是虚函数,那么可以认为是一个接口。

class clickListener
{
public:
        virtual void click() = 0;
};

模板函数 类似于java中的泛型。

template <typename T>
T add(T a, T b){
        return a + b;
}
void main(){
       int a = add(1,2);
        cout << a << endl; 
        getchar();
}