当前位置: 首页 > news >正文

电子商务网站建设的概要设计怎么做有趣的微视频网站

电子商务网站建设的概要设计,怎么做有趣的微视频网站,深圳景点,罗湖附近公司做网站建设哪家便宜【系列专栏】#xff1a;博主结合工作实践输出的#xff0c;解决实际问题的专栏#xff0c;朋友们看过来#xff01; 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…【系列专栏】博主结合工作实践输出的解决实际问题的专栏朋友们看过来  《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享 欢迎商业项目咨询10年软硬全栈内功助力解决您的尊贵需求。 原文链接https://winter.blog.csdn.net/article/details/129397401 —————————————————————————————————— 目录 0 引言 1 重载 1.1 函数重载 1.2 运算符重载 2 多态 3 总结 0 引言 上一次博文讲解了C的类和对象以及继承的特征本次博文总结下C面向对象的另外两个关键特征——重载与多态。 1 重载 C 允许在同一作用域中的某个函数和运算符指定多个定义分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明但是它们的参数列表和定义实现不相同。 当调用一个重载函数或重载运算符时编译器通过把所使用的参数类型与定义中的参数类型对比决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程称为重载决策。 1.1 函数重载 在同一作用域内可声明多个功能类似的同名函数这些同名函数的形参参数个数、类型或者顺序必须不同我们不能仅通过返回类型的不同来重载函数。 Qt源码中运用了大量的函数重载不仅在 C中在其他语言如Java等也有 因为需要不同所以有重载各种各样的函数。 下面做个示例程序说明函数重载的使用方法。 以之前博文写的人 这个类为例打印这个人的体重分别以整数和小数记录并分别打印这个通过函数重载实现就很容易。 新建一个07_func_overload目录其下新建一个07_func_overload.cpp文件代码如下 #include iostream #include string using namespace std;class People { public:string name;void getWeight(int weight){cout weight: weight Kg endl;}void getWeight(double weight){cout weight: weight Kg endl;}};int main() {People people;people.name 小芳;people.getWeight(90);people.getWeight(90.5);return 0; } 程序中在People类中定义了两个getWeight()方法一个参数为int另一个为double这就构成了函数重载在main函数中传入不同的参数程序就会匹配不同的重载函数。 编译程序运行结果如下 以上简单的实例我们知道了函数重载的用法有时需要避免用户传入的参数类型不在重载函数里编译器报错这种情况这时可以多写几个重载函数设置多个参数类型。 1.2 运算符重载 运算符重载实质是函数重载或函数多态目的在于让人能够用同名的函数来完成不同的基本操作。要重载运算符需要使用被称为运算符函数的特殊函数形式 重载运算符的格式如下 返回类型说明符 operator 运算符符号(参数表) {函数体 } 可重载的运算符列表 不可重载的运算符列表 实际上重载运算符在实际中应用并不多下面以“”为例了解下这种思想。 下面举个例子对象作为参数进行传递对象的属性使用 this 运算符进行访问。 声明加法运算符用于把两个People 对象体重相加返回最终的 People 对象然后得到第三个People 对象的体重。 新建一个08_operator目录其下新建一个08_operator.cpp代码如下 #include iostream #include string using namespace std;class People { public:int weight;People operator(const People p){People people;people.weight this-weight p.weight;return people;} };int main() {People people1;People people2;People people3;people1.weight 10;people2.weight 40;people3 people1 people2;cout people3 weight : people3.weight Kg endl;return 0; } 程序中重载“”运算符注意函数必须与类名同名 把People对象作为传递 使用this 运算符进行访问然后返回一个 People对象。可见重载运算法可以将两个对象相加在普通的运算符中这个做不到的所以重载运算法的意义就体现在此。 编译程序运行结果 2 多态 C中多态意味着调用成员函数时会根据调用函数的对象的类型来执行不同的函数形成多态必须具备三个条件 1必须存在继承关系2继承关系必须有同名虚函数3存在基类类型的指针或者引用通过该指针或引用调用虚函数。虚函数指的是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数时会告诉编译器不要静态链接到该函数。我们想要的是在程序中任意点可以根据所调用的对象类型来选择调用的函数这种操作被称为动态链接或后期绑定。 虚函数声明如下 virtual ReturnType FunctionName(Parameter) 虚函数必须实现如果不实现编译器将报错。 纯虚函数若在基类中定义虚函数以便在派生类中重新定义该函数更好地适用于对象但是您在基类中又不能对虚函数给出有意义的实现这个时候就会用到纯虚函数。 纯虚函数声明如下virtual void funtion1()0; 纯虚函数一定没有定义纯虚函数用来规范派生类的行为即接口。 包含纯虚函数的类是抽象类抽象类不能定义实例但可以声明指向实现该抽象类的具体类的指针或引用。 下面通过实例说明多态的使用。 新建一个09_polymorphism目录其下新建一个09_polymorphism.cpp代码如下 #include iostream #include string using namespace std;//动物类 class Animal { public:virtual void speak(){cout Animal的speak()方法 endl;} };//定义一个People类继承Animal class People : public Animal { public:void speak(){cout People的speak()方法 endl;} };//定义一个Dog类继承Animal class Dog : public Animal { public:void speak(){cout Dog的speak()方法 endl;} };int main() {//声明一个 Animal 的指针对象并没有实例化Animal *animal; People people;Dog dog;//存储dog和people对象的地址并调用speak()方法animal people;animal-speak();animal dog;animal-speak();return 0; } 新定义的People和Dog类都继承了Animal基类可见基类Animal中的speak()方法前加了virtual关键字变成了虚函数虚函数是C中实现多态的机制核心就是通过基类访问派生类定义的函数 上面的实例是基类 Animal 声明了一个指针 animal。然后通过基类的指针来访问 Dog 类对象与 People 类的对象的 speak()方法前提是基类的 speak()方法必须声明为虚函数且基类和派生类中定义的方法名要相同否则基类的指针将访问到基类自己的speak()方法。 编译程序运行如下 3 总结 本次博文总结了C的面向对象特征重载和多态重载是在同一作用域内可声明多个功能类似的同名函数这些同名函数的形参必须不同可以根据实际需要重载各种各样的函数多态的实现机制是通过虚函数核心就是通过基类访问派生类定义的函数有了多态我们可以在程序中任意点可以根据所调用的对象类型来选择调用的函数实现动态链接或后期绑定的效果。 作于202303081445已归档 ——————————————————————————————————— 本文为博主原创文章未经博主允许不得转载 若本文对您有帮助轻抬您发财的小手关注/评论/点赞/收藏就是对我最大的支持 祝君升职加薪鹏程万里
http://www.tj-hxxt.cn/news/220354.html

相关文章:

  • 公司要建设网站wordpress别名
  • 网站编辑注意问题金坛市住房和城乡建设局网站
  • 网站 粘度wordpress 在线教育主题
  • 百度收录网站定位地址十大外贸论坛
  • 建设通官方网站下载e航seo的排名机制
  • 做二手车有哪些网站有哪些手续网站开发湛江
  • 可以看帖子的网站毕业答辩ppt模板免费下载 素材
  • 网站排名优化要多少钱网站不备案备案
  • 网站怎么做会让神马搜索到旺店通app手机企业版下载
  • 兴义网站seo开一个网站需要什么
  • 网站标题logo怎么做樱花代码html
  • 周杰伦做的广告网站网站建设除了中企动力
  • 做网站后台教程视频中国建设工程监理协会网站
  • 网站开发工具.晴天娃娃wordpress采集微信公众号
  • 做免费网站建设银行银行官网网站
  • 网站后台怎么做企业文化培训
  • 基于php的网站建设思路方案图文制作app
  • 重庆网站的制作价格网站怎么后台登陆
  • 买东西的网站深圳公司注册地址
  • 青岛谁优化网站做的好如何看网站的浏览量
  • 站长检测同ip网站很多怎么办android安卓软件下载
  • 做网站维护的人叫啥做网站需要字体授权
  • 中学网站域名用什么用软文推广多少钱一篇
  • 网站改版的意义公司网站如何做宣传
  • 动漫网站建站目的湖南网站建设欧黎明
  • 网站注册建设如何建设网站山东济南兴田德润官网
  • 网站建设试题网络销售怎么做自己的网站
  • 邢台网站开发有没专门做二手的家具网站
  • 建站网站设计建设银行理财网站
  • 有什么可以做cad赚钱的网站网站 做英文 翻译 规则