1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 虚函数中调用父类同名虚函数

虚函数中调用父类同名虚函数

时间:2020-10-21 22:19:57

相关推荐

虚函数中调用父类同名虚函数

1、在虚函数实现中直接通过父类调用

BaseFrame::print();

2、通过对象指针调用

print = new PrintObject();

print->print();

print->BaseFrame::print();

3 、测试

#ifndef BASEFRAM_H#define BASEFRAM_H#include <QObject>#include <iostream>using namespace std;class BaseFram{public:explicit BaseFram(){ cout << "this is base frame construct" << endl; }virtual ~BaseFram(){ cout << "this base frame ~ delet\n";}virtual void print(){ cout << "this is base frame"; }};class PrintObject: public BaseFram{public:explicit PrintObject():BaseFram(){ cout << "this is print construct" << endl; }virtual ~PrintObject() override{ cout << "this is print ~ delet\n";}virtual void print() override { BaseFram::print();cout << endl;cout << "this is print object\n";}};class Test{public:Test(){print = new PrintObject();print->print();print->BaseFram::print();// PrintObject test_p;// test_p.print();}~Test(){cout << "this test ~ delete \n";if(print) {delete print;print = nullptr;}}private:BaseFram* print;};#endif // BASEFRAM_H

4、main

#include <QCoreApplication>#include "basefram.h"int main(int argc, char *argv[]){Test test;// QCoreApplication a(argc, argv);// PrintObject print;// print.print();// Test test;// return a.exec();}

5、输出

this is base frame constructthis is print constructthis is base framethis is print objectthis is base framethis test ~ deletethis is print ~ deletthis base frame ~ delet

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。