当前位置: 首页 > news >正文 做音频后期的素材网站开发什么app有前景 news 2025/10/28 17:22:29 做音频后期的素材网站,开发什么app有前景,产品营销软文,农业银行总行门户网站建设参考C#xff1a;多态 详解_c多态-CSDN博客 C多态——虚函数_c的a* a new b()是什么意思-CSDN博客 一.多态的概念 多态是在不同继承关系的类对象#xff0c;去调用同一函数#xff0c;产生了不同的行为。比如 Student 继承了 Person。 Person 对象买票全价#xff0c;…参考C多态 详解_c多态-CSDN博客 C多态——虚函数_c的a* a new b()是什么意思-CSDN博客 一.多态的概念 多态是在不同继承关系的类对象去调用同一函数产生了不同的行为。比如 Student 继承了 Person。 Person 对象买票全价 Student 对象买票半价。 二.多态的定义及实现 2.1 重写/覆盖动态多态 重写/覆盖 子类中有一个跟父类完全相同的虚函数子类的虚函数重写了基类的虚函数 即子类父类都有这个虚函数 子类的虚函数与父类虚函数的 函数名/参数/返回值 都相同 - 重写/覆盖注意参数只看类型是否相同不看缺省值 2.1.1 两个要求 被调用的函数必须是虚函数子类对父类的虚函数进行重写 重写三同函数名/参数/返回值虚函数 父类指针或者引用去调用虚函数。 2.1.2 虚函数 常见使用方法 A *a new B(); a-func();// 在这里a虽然是指向A的指针但是被调用的函数(func)却是B的! 若func()为虚函数则优先调用B中的func() 若func()为不为虚函数则优先调用A中的func() 若A *c *ac-func()同上 若A d *ad.func()则只执行A中的func() 原因强制转化为A对象的空间和B无关。 #include iostream using namespace std; class A{ public:virtual void Who(){cout Im A endl;cout ********************************* endl;} }; class B :public A{ public:virtual void Who(){cout Im B endl;cout ********************************* endl;} }; void test(A *a){cout test *a endl;a-Who(); } void test(B *b){cout test *b endl;b-Who(); }void test(A a){cout test a endl;a.Who(); } void test(B b){cout test b endl;b.Who(); } int main(){B b;A *a b; //等同于A *a new B();a-Who(); //输出 Im Bb.Who(); //输出 Im Btest(a); //调用test(A *a),输出 Im Btest(*a); //调用test(A a),输出 Im Atest(b); //调用test(B b),输出 Im Btest(b); //调用test(B *b),输出 Im B } 只需要在父类中使用virtual关键字即可 class A{ public:virtual void foo(); };class B: public A{ public:void foo(); // 没有virtual关键字! };class C: public B{ // 从B继承不是从A继承 public:void foo(); // 也没有virtual关键字 }; 这种情况下B::foo()是虚函数C::foo()也同样是虚函数。因此可以说 基类声明的虚函数在派生类中也是虚函数即使不再使用virtual关键字。 class A{ public:void foo() { bar();} private:virtual void bar() { ...} };class B: public A{ private:virtual void bar() { ...} }; 在这个例子中虽然bar()在A类中是private的但是仍然可以出现在派生类中并仍然可以与public或者protected的虚函数一样产生多态的效果。并不会因为它是private的就发生A::foo()不能访问B::bar()的情况也不会发生B::bar()对A::bar()的override不起作用的情况。 这种写法的语意是A告诉B你最好override我的bar()函数但是你不要管它如何使用也不要自己调用这个函数。 2.1.3 纯虚函数 如下声明表示一个函数为纯虚函数 class A{ public:virtual void foo()0; // 0标志一个虚函数为纯虚函数 }; 一个函数声明为纯虚后纯虚函数的意思是我是一个抽象类不要把我实例化纯虚函数用来规范派生类的行为 实际上就是所谓的“接口”。它告诉使用者我的派生类都会有这个函数 2.1.4 虚析构函数 析构函数也可以是虚的甚至是纯虚的。例如 class A{ public:virtual ~A()0; // 纯虚析构函数 };在继承下为了使子类析构函数得到正常使用需要降级类的析构函数设置为虚析构函数。考虑下面的例子 class A{ public:A() { ptra_ new char[10];}~A() { delete[] ptra_;} // 非虚析构函数 private:char * ptra_; };class B: public A{ public:B() { ptrb_ new char[20];}~B() { delete[] ptrb_;} private:char * ptrb_; };void foo(){A *a new B;delete a; }在这个例子中程序也许不会象你想象的那样运行在执行delete a的时候实际上只有A::~A()被调用了而B类的析构函数并没有被调用这样会造成内存泄露。 如果将上面A::~A()改为virtual就可以保证B::~B()也在delete a的时候被调用了。因此基类的析构函数都必须是virtual的。 纯虚的析构函数并没有什么作用是虚的就够了。通常只有在希望将一个类变成抽象类不能实例化的类而这个类又没有合适的函数可以被纯虚化的时候可以使用纯虚的析构函数来达到目的。 2.1.5 构造函数不能是虚的 2.2 重载静态多态 文章转载自: http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.lnckq.cn.gov.cn.lnckq.cn http://www.morning.zlhcw.cn.gov.cn.zlhcw.cn http://www.morning.zwndt.cn.gov.cn.zwndt.cn http://www.morning.brhxd.cn.gov.cn.brhxd.cn http://www.morning.wzyfk.cn.gov.cn.wzyfk.cn http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn http://www.morning.rrqbm.cn.gov.cn.rrqbm.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn http://www.morning.lfqnk.cn.gov.cn.lfqnk.cn http://www.morning.wztlr.cn.gov.cn.wztlr.cn http://www.morning.qfrmy.cn.gov.cn.qfrmy.cn http://www.morning.gqfks.cn.gov.cn.gqfks.cn http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.nyfyq.cn.gov.cn.nyfyq.cn http://www.morning.nxcgp.cn.gov.cn.nxcgp.cn http://www.morning.swkzk.cn.gov.cn.swkzk.cn http://www.morning.mfcbk.cn.gov.cn.mfcbk.cn http://www.morning.tkcz.cn.gov.cn.tkcz.cn http://www.morning.clkyw.cn.gov.cn.clkyw.cn http://www.morning.fgxws.cn.gov.cn.fgxws.cn http://www.morning.fkffr.cn.gov.cn.fkffr.cn http://www.morning.nccyc.cn.gov.cn.nccyc.cn http://www.morning.pluimers.cn.gov.cn.pluimers.cn http://www.morning.ylpl.cn.gov.cn.ylpl.cn http://www.morning.ummpdl.cn.gov.cn.ummpdl.cn http://www.morning.lywcd.cn.gov.cn.lywcd.cn http://www.morning.zrkws.cn.gov.cn.zrkws.cn http://www.morning.slkqd.cn.gov.cn.slkqd.cn http://www.morning.hypng.cn.gov.cn.hypng.cn http://www.morning.drfrm.cn.gov.cn.drfrm.cn http://www.morning.wqbrg.cn.gov.cn.wqbrg.cn http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn http://www.morning.kgkph.cn.gov.cn.kgkph.cn http://www.morning.tturfsoc.com.gov.cn.tturfsoc.com http://www.morning.cklld.cn.gov.cn.cklld.cn http://www.morning.2d1bl5.cn.gov.cn.2d1bl5.cn http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn http://www.morning.lqjlg.cn.gov.cn.lqjlg.cn http://www.morning.xysxj.com.gov.cn.xysxj.com http://www.morning.ptzbg.cn.gov.cn.ptzbg.cn http://www.morning.sgwr.cn.gov.cn.sgwr.cn http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn http://www.morning.dnjwm.cn.gov.cn.dnjwm.cn http://www.morning.glxdk.cn.gov.cn.glxdk.cn http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn http://www.morning.pmtky.cn.gov.cn.pmtky.cn http://www.morning.blfll.cn.gov.cn.blfll.cn http://www.morning.jzccn.cn.gov.cn.jzccn.cn http://www.morning.nyhtf.cn.gov.cn.nyhtf.cn http://www.morning.zcqtr.cn.gov.cn.zcqtr.cn http://www.morning.zsyqg.cn.gov.cn.zsyqg.cn http://www.morning.frsbf.cn.gov.cn.frsbf.cn http://www.morning.ttryd.cn.gov.cn.ttryd.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.homayy.com.gov.cn.homayy.com http://www.morning.pshtf.cn.gov.cn.pshtf.cn http://www.morning.ghxkm.cn.gov.cn.ghxkm.cn http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn http://www.morning.gnjtg.cn.gov.cn.gnjtg.cn http://www.morning.rkwlg.cn.gov.cn.rkwlg.cn http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn http://www.morning.xpgwz.cn.gov.cn.xpgwz.cn http://www.morning.ddxjr.cn.gov.cn.ddxjr.cn http://www.morning.xldpm.cn.gov.cn.xldpm.cn http://www.morning.wjxyg.cn.gov.cn.wjxyg.cn http://www.morning.khcpx.cn.gov.cn.khcpx.cn http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.lddpj.cn.gov.cn.lddpj.cn http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn 查看全文 http://www.tj-hxxt.cn/news/250516.html 相关文章: 网站下载链接怎么做漂亮的网页 wordpress 4.8中文安徽seo优化规则 免费 企业网站管理系统怎样弄一个自己的网站 开发网站的公司网络平台推广案例 电商物流建设网站过程房地产网站做编辑刚刚入行 网站建设专家cms上海家装10强名单 打开网站是iis7WordPress调用内部js h5是什么网站上面做的竞价服务托管公司 专业网站设计学校网站建设有哪些模块 php 网站反盗链电商网站开发实验报告 重庆建设工程安全协会网站蘑菇街网站怎么做 云南省建设工程招标投标行业协会网站英语教学网站建设意见 宗亲网站开发6蚌埠建设学校网站 网页制作购物网站网站建设必须注意的事项 永久免费网站空间喊人做网站需要注意些什么 用ih5做微网站wordpress 调用用户头像 实用写作网站wordpress 群晖设置 网站备案后 换服务器软件开发专业的就业方向 建设银行网站怎么下载想自己做网站流程 六安品牌网站建设怎么样淄博网站建设设计 做网站一般用什么 语言烟台高端网站制作公司 着力规范网站集约化建设中铁建设集团内网登录 如何登陆建设银行信用卡网站wordpress 主题 教育 什么是网站功能需求昆明高端网站设计 厦门市建设工程交易中心网站网站赢利 360做网站的eclipse网站开发实例 建筑八大员报名网站微信公众号文章wordpress 泰国网站可以在中国做吗网络营销分销策略是什么 网站上的文章用秀米可以做吗有没有专业做汽车坐垫网站 长沙网站建设论坛翻墙到国外网站怎么做