学习日志(十九)

纯虚函数

1.注意点

纯虚函数是没有函数体的虚函数,纯虚函数也是虚函数

. virtual 函数返回值类型 函数名(参数)=0;

具有纯虚函数的类叫做抽象

. 抽象类没办法构建对象

. 抽象类可以构建对象指针的

. 继承的子类也是抽象的

可以通过重写纯虚函数使得可以构造对象

2.示例

#include <iostream>

#include<string>

using namespace std;

class MM

{

public:

MM(string name, int age) :name(name), age(age){}

virtual void print()=0: //纯虚函数

protected:

string name;

int age;

};

class Boy :publicMM

{

public:

Boy():MM("名字",18)

{

}

//重写概念:

void print()

{

cout << "Boy重与print"<<endl:

}

protected:

};

class StuSystem

}

public:

virtual void insertData()=0;

virtual void deleteData() =0;

virtual void showData() const=0;

virtual int size() const = 0;

virtual int empty const=0;

protected:

};

class listSystem: public StuSystem

{

public:

void insertData()

{

}

void deleteData()

虚析构函数

1.作用及应用

. 析构函数用virtual 修饰就是虚析构函数

. 写在父类

存在父类指针被子类对象初始化的情况,通常大家要写虚析构函数

2.代码示例

#include <iostream>

#include <string>

using namespace std;

classMM

{

public:

virtual ~MM() //父类用虚折构函数

L

cout << "MM" << endl;

}

};

class Boy:public MM

{

public:

~Boy()

{

cout << "Boy" << end1;

}

};

int main()

{

{

MM*pmm= new Boy;

delete pmm;

}

return 0;

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务