使用 C++ 中的共享指针进行虚拟析构
在本教程中,我们将讨论一个程序,了解如何使用 C++ 中的共享指针进行虚拟析构。
为了删除类实例,我们定义虚基类的析构函数。因此,它将按创建的相反顺序删除继承的不同对象实例。
示例
#include <iostream>
#include <memory>
using namespace std;
class Base {
public:
Base(){
cout << "Constructing Base" << endl;
}
~Base(){
cout << "Destructing Base" << endl;
}
};
class Derived : public Base {
public:
Derived(){
cout << "Constructing Derived" << endl;
}
~Derived(){
cout << "Destructing Derived" << endl;
}
};
int main(){
std::shared_ptr<Base> sp{ new Derived };
return 0;
}输出
Constructing Base Constructing Derived Destructing Derived Destructing Base
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP