什么样建网站网站后台在哪里
2026/3/20 5:44:09 网站建设 项目流程
什么样建网站,网站后台在哪里,商丘网站建设有哪些,中国建设会计学网站一、多态的概念#xff1a;什么是多态#xff1f;1.1 多态的通俗理解多态#xff08;polymorphism#xff09;#xff0c;字面意思是 “多种形态”。在编程语境中#xff0c;指的是同一个行为#xff08;函数调用#xff09;#xff0c;作用于不同的对象#xff0c;会…一、多态的概念什么是多态1.1 多态的通俗理解多态polymorphism字面意思是 “多种形态”。在编程语境中指的是同一个行为函数调用作用于不同的对象会产生不同的执行结果。生活中处处可见多态的影子买票行为普通人买票全价、学生买票打折、军人买票优先同样是 “买票” 操作不同身份的人不同对象执行结果不同动物叫声猫叫是 “喵”狗叫是 “汪汪”同样是 “发声” 行为不同动物不同对象表现形式不同交通工具行驶汽车在路上跑飞机在天上飞轮船在水里游同样是 “移动” 行为不同交通工具不同对象实现方式不同。这种 “一个接口多种实现” 的思想正是多态的核心价值 —— 它屏蔽了不同对象之间的差异让开发者可以通过统一的方式调用不同对象的方法极大简化了代码逻辑。1.2 多态的分类C 中的多态分为两大类编译时多态静态多态和运行时多态动态多态二者的核心区别在于 “行为确定的时机” 不同。1.2.1 编译时多态静态多态编译时多态是指在编译阶段就确定了函数的调用关系行为结果在编译时已经明确。它的实现方式主要有两种函数重载同一作用域内函数名相同但参数列表参数类型、个数、顺序不同的函数编译器会根据实参类型匹配对应的函数函数模板通过模板参数自动适配不同类型编译时会为每种使用的类型生成对应的函数实例。示例函数重载实现静态多态代码语言javascriptAI代码解释#include iostream using namespace std; // 函数重载参数类型不同 int Add(int a, int b) { cout int Add: ; return a b; } double Add(double a, double b) { cout double Add: ; return a b; } // 函数重载参数个数不同 int Add(int a, int b, int c) { cout int Add(3 params): ; return a b c; } int main() { cout Add(1, 2) endl; // 调用int Add(int, int) cout Add(1.5, 2.5) endl; // 调用double Add(double, double) cout Add(1, 2, 3) endl; // 调用int Add(int, int, int) return 0; }运行结果代码语言javascriptAI代码解释int Add: 3 double Add: 4 int Add(3 params): 6静态多态的特点是效率高编译时确定调用地址无运行时开销但灵活性差必须在编译时明确所有可能的行为无法适应运行时动态变化的场景。1.2.2 运行时多态动态多态运行时多态是指在程序运行阶段才确定函数的调用关系行为结果取决于运行时的对象类型。它是 C 多态的核心也是本文重点讲解的内容。示例运行时多态的直观体现代码语言javascriptAI代码解释#include iostream using namespace std; // 基类人 class Person { public: // 虚函数买票 virtual void BuyTicket() { cout 普通人买票全价 endl; } }; // 派生类学生继承自Person class Student : public Person { public: // 重写基类虚函数 virtual void BuyTicket() { cout 学生买票半价硬座/75折高铁二等座 endl; } }; // 派生类军人继承自Person class Soldier : public Person { public: // 重写基类虚函数 virtual void BuyTicket() { cout 军人买票优先购票 endl; } }; // 统一接口调用买票行为 void DoBuyTicket(Person people) { people.BuyTicket(); // 同一调用语句不同对象表现不同 } int main() { Person p; Student s; Soldier sol; DoBuyTicket(p); // 输出普通人买票全价 DoBuyTicket(s); // 输出学生买票半价硬座/75折高铁二等座 DoBuyTicket(sol); // 输出军人买票优先购票 return 0; }运行结果代码语言javascriptAI代码解释普通人买票全价 学生买票半价硬座/75折高铁二等座 军人买票优先购票在这个示例中DoBuyTicket函数接收Person类型的引用但传入不同的派生类对象时会执行对应的BuyTicket方法。这种 “同一接口多种实现” 的效果正是运行时多态的核心体现。它的特点是灵活性高支持动态扩展新增派生类无需修改原有接口代码但有轻微运行时开销需要在运行时查找函数地址。二、多态的定义及实现三大核心条件想要实现 C 运行时多态必须满足三个核心条件缺一不可。很多开发者在使用多态时出现问题本质上都是没有完全满足这三个条件。2.1 核心条件一继承关系多态必须建立在类的继承体系之上即存在基类父类和派生类子类的继承关系。派生类通过继承基类获得基类的接口虚函数并可以根据自身需求重写该接口。需要注意支持单一继承一个派生类继承一个基类和多重继承一个派生类继承多个基类但多重继承可能导致虚函数表复杂需要谨慎使用派生类必须是公有继承public inheritance才能保证基类的指针 / 引用可以访问派生类的虚函数私有继承或保护继承会限制访问权限。2.2 核心条件二虚函数与重写2.2.1 虚函数的定义虚函数是多态的“开关”在基类的成员函数前加上virtual关键字该函数就成为虚函数。语法格式代码语言javascriptAI代码解释class 基类名 { public: virtual 返回值类型 函数名(参数列表) { // 函数实现 } };注意事项virtual关键字仅需在基类声明时添加派生类重写时可加可不加但建议加上能够提高代码可读性非成员函数全局函数、静态成员函数static修饰、构造函数不能声明为虚函数析构函数可以且建议声明为虚函数这是面试高频考点后续会详细讲解。2.2.2 虚函数的重写覆盖虚函数的重写也叫覆盖是指派生类中有一个与基类虚函数完全相同的函数即满足 “三同” 原则函数名相同参数列表参数类型、个数、顺序相同返回值类型相同协变情况除外后续讲解。www.dongchedi.com/article/7595302533728911934www.dongchedi.com/article/7595302732916277822www.dongchedi.com/article/7595300345145164313www.dongchedi.com/article/7595287730565710361www.dongchedi.com/article/7595287469617529368www.dongchedi.com/article/7595289256520663576www.dongchedi.com/article/7595287092394000920www.dongchedi.com/article/7595286612611957273www.dongchedi.com/article/7595285133738410521www.dongchedi.com/article/7595285905729487384www.dongchedi.com/article/7595287514580435481www.dongchedi.com/article/7595285072006382105www.dongchedi.com/article/7595285719334502936www.dongchedi.com/article/7595285631619007000www.dongchedi.com/article/7595277509785453081www.dongchedi.com/article/7595276630432760345www.dongchedi.com/article/7595275735409967640www.dongchedi.com/article/7595277089067549246www.dongchedi.com/article/7595276413155295769www.dongchedi.com/article/7595276373905195544www.dongchedi.com/article/7595274144955499033www.dongchedi.com/article/7595274423667048984www.dongchedi.com/article/7595275907217195545www.dongchedi.com/article/7595274913787953689www.dongchedi.com/article/7595274806057337368www.dongchedi.com/article/7595274833727406617www.dongchedi.com/article/7595255011878208062www.dongchedi.com/article/7595255232834159166www.dongchedi.com/article/7595244636982379033www.dongchedi.com/article/7595246619336000062www.dongchedi.com/article/7595245102663352894www.dongchedi.com/article/7595246113737982526www.dongchedi.com/article/7595238963515146814www.dongchedi.com/article/7595238605032292888www.dongchedi.com/article/7595237840809198105www.dongchedi.com/article/7595237829975212569www.dongchedi.com/article/7595237024668877336www.dongchedi.com/article/7594914712018600510www.dongchedi.com/article/7594913283375907352www.dongchedi.com/article/7594914016129106456www.dongchedi.com/article/7594914424213766718www.dongchedi.com/article/7594913083894891033www.dongchedi.com/article/7594913119710069310www.dongchedi.com/article/7594912459706696254www.dongchedi.com/article/7594911633613390360www.dongchedi.com/article/7594909036307595800www.dongchedi.com/article/7594910057444786750www.dongchedi.com/article/7594909893274927641www.dongchedi.com/article/7594909974816588350www.dongchedi.com/article/7594909035217404441www.dongchedi.com/article/7594908551181615678www.dongchedi.com/article/7594906883010855486www.dongchedi.com/article/7594907513641058878www.dongchedi.com/article/7594905549272285720www.dongchedi.com/article/7594906861996884505www.dongchedi.com/article/7594906134906421785www.dongchedi.com/article/7594905869373096472www.dongchedi.com/article/7594904114086560281www.dongchedi.com/article/7594903301414650392www.dongchedi.com/article/7594901235942228542www.dongchedi.com/article/7594901805579452953www.dongchedi.com/article/7594900315275657752www.dongchedi.com/article/7594899458794799641www.dongchedi.com/article/7594900266315645465www.dongchedi.com/article/7594900151853236798www.dongchedi.com/article/7594898846111580697www.dongchedi.com/article/7594899021756776984www.dongchedi.com/article/7594897166766965272www.dongchedi.com/article/7594897310665245246www.dongchedi.com/article/7594897192310407705www.dongchedi.com/article/7594897631617794585www.dongchedi.com/article/7594896580080435737www.dongchedi.com/article/7594895704896684568www.dongchedi.com/article/7594897374330503705www.dongchedi.com/article/7594895618720449048www.dongchedi.com/article/7594896034183397912www.dongchedi.com/article/7594896087656694334

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询