关于以下代码说法正确的有 #include<iostream> using namespace std; class A { public:     virtual void x() = 0; }; class B :public A { public:     virtual void x(int a) {  } }; int main() {     A *a = new B;     delete a;     return 0; }

区块链毕设网qklbishe.com为您提供问题的解答

关于以下代码说法正确的有
#include<iostream> using namespace std; class A { public:     virtual void x() = 0; }; class B :public A { public:     virtual void x(int a) {  } }; int main() {     A *a = new B;     delete a;     return 0; }

A 答案:纯虚函数是没有函数体的 B 中重写的函数仍为虚函数,所以 B类没有成功重写A类x函数,有编译错误
C 答案:如果 A 没有虚析构函数,B 的析构函数不参与多态,析构对象时只会调用基类的析构函数,导致 B 的空间没有完全释放,可能出现内存泄漏

04:15

以上就是关于问题关于以下代码说法正确的有 #include<iostream> using namespace std; class A { public:     virtual void x() = 0; }; class B :public A { public:     virtual void x(int a) {  } }; int main() {     A *a = new B;     delete a;     return 0; }的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 关于以下代码说法正确的有 #include<iostream> using namespace std; class A { public:     virtual void x() = 0; }; class B :public A { public:     virtual void x(int a) {  } }; int main() {     A *a = new B;     delete a;     return 0; }