C++关于类的继承,虚函数,纯虚函数,几个修饰词

VC关于类的继承,虚函数,纯虚函数,几个修饰词

一、基类与派生类

#ifndef BASECLASS_H
#define BASECLASS_H



class Baseclass
{
public:
    Baseclass();
    virtual ~Baseclass(); //基类的析构函数必须是虚函数。
    virtual void fun1();
};

#endif // BASECLASS_H


#include "baseclass.h"

Baseclass::Baseclass()
{
    puts("This is Baseclass Constructor.");
}
Baseclass::~Baseclass()
{
    puts("This is Baseclass Destructor.");
}
void Baseclass::fun1()
{
    puts("BaseClass fun1");
}

继承类:

#ifndef CLASSA_H
#define CLASSA_H
#include "baseclass.h"

class ClassA : public Baseclass
{
public:
    ClassA();
    ~ClassA();
    void fun1();
};

#endif // CLASSA_H
#include "classa.h"

ClassA::ClassA()
{
    puts("classa constructor.");
}
ClassA::~ClassA()
{
    puts("classa destructor.");
}
void ClassA::fun1()
{
    puts("classa fun1");
}

最后显示:

二、虚函数与纯虚函数

对于范例一代码:

virtual viod fun1();

就是虚函数,虚函数是实现类的多态的基础,其可以被派生类重写,实现新的功能;

而对于纯虚函数:

virtual viod fun1()=0;

则是在其后增加=0;表示该函数无实体(虚函数需有实体);

同时包含纯虚函数的类无法实例化;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章