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

怎么自己做网站地图网站建设弹窗代码

怎么自己做网站地图,网站建设弹窗代码,店铺设计用什么软件,中建八局第一建设有限公司电话四、多态4.1 虚函数 四、多态 多态性是面向对象程序设计语言的又一重要特征#xff0c;多态#xff08;polymorphism#xff09;通俗的讲#xff0c;就是用一个相同的名字定义许多不同的函数#xff0c;这些函数可以针对不同数据类型实现相同或类似的功能#xff0c;即所… 四、多态4.1 虚函数 四、多态 多态性是面向对象程序设计语言的又一重要特征多态polymorphism通俗的讲就是用一个相同的名字定义许多不同的函数这些函数可以针对不同数据类型实现相同或类似的功能即所谓的 “一个接口多种实现” 。 #include iostream using namespace std;class Shape{ //形状 public:virtual void draw(){ //如果不加 virtual关键字修饰那么下方for()循环就会一直调用该成员函数。cout Shape draw endl;} };class Rect : public Shape{ //矩形 public:void draw(){cout Rect draw endl;} };class Circle : public Shape{ //圆形 public:void draw(){cout Circle draw endl;} };class Ellipse : public Shape{ //椭圆 public:void draw(){cout Ellipse draw endl;} };int main(void) {Shape *ps[128] {0};ps[0] new Rect;ps[1] new Circle;ps[2] new Ellipse;for(int i 0; ps[i] ! NULL; i){ps[i]-draw();}return 0; }//输出结果 myubuntuubuntu:~/lv19/cplusplus/dy05$ ./a.out Rect draw Ellipse draw Circle draw4.1 虚函数 被 virtual 关键字修饰的成员函数称为虚函数。 如果将基类中的某个成员函数声明为虚函数那么子类中与该函数具有相同原型的成员函数也就是虚函数并且对基类中版本形成覆盖即函数重写。 如果子类提供了对基类函数有效的覆盖那么通过指向子类对象的基类指针或者通过引用子类对象的基类引用调用该虚函数实际被执行将是子类中的覆盖版本而不再是基类中的原始版本这种语法现象被称为多态。 多态的意义在于一般情况下调用那个类的成员函数由调用者指针或者引用本身类型决定的而有了多态调用那个类的成员函数由调用者指针或者引用实际对象的类型决定。 这样一来源自同一种类型的同一种激励竟然可以产生多种不同的响应也就是对于同一个函数调用能够表达出不同的形态即为多态。 虚函数覆盖的条件 只有类中的成员函数才能声明为虚函数而全局函数、静态成员函数、构造函数都不能被声明为虚函数只有在基类中以 virtual 关键字声明的虚函数才能作为虚函数被子类覆盖而与子类中的的 virtual 关键字无关虚函数在子类中的版本和基类中版本要具有相同的函数签名即函数名、参数表、常属性一致如果基类虚函数返回基本类型的数据那么子类中的版本必须返回相同类型的数据如果基类虚函数返回类类型指针(A)或引用(A)那么允许子类中的版本返回其子类类型指针(B)或引用(B) #include iostream using namespace std;class A{}; class B : public A {};class Base{virtual void fun() {cout Base fun() endl;}virtual A *foo(void){cout Base foo() endl;} }; class Derived : public Base {void fun(){cout Derived fun() endl;}B *foo(void){cout Derived foo() endl;} };int main() {Derived d1;Base *pd1 d1;pd1-func(); //输出子类中的func()函数Base pd2 d1; pd2.foo(); //输出子类中的foo()函数return 0; }产生多态的条件 除了要满足函数重写的语法要求还必须是通过指针或引用调用虚函数才能表现出来 #include iostream using namespace std;class A{}; class B : public A {};class Base{virtual void fun() {cout Base fun() endl;}virtual A *foo(void){cout Base foo() endl;} }; class Derived : public Base {void fun(){cout Derived fun() endl;}B *foo(void){cout Derived foo() endl;} };int main() {Derived d1;Base b1 d1;b1.func(); //调用的是基类当中的 fun() 函数return 0; }调用虚函数的指针也可以是this指针当使用子类对象调用基类中的成员函数时该函数里面this指针将是一个指向子类对象的基类指针再通过this指针去调用满足重写的虚函数同样可以表现多态的语法特性 class A{}; class Base{void fun() {cout base endl;}A *foo(void){ //A *foo(A *this)fun(); //this-fun();} }; class Derived : public Base {void fun(){cout Derived endl;} };int main() {Derived d1;d1.foo(); //d1.foo(d1); 调用的是子类中的fun()函数 }
http://www.w-s-a.com/news/329686/

相关文章:

  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司
  • 企业网站有必要做吗?网站平均停留时间
  • 蘑菇街的网站建设凡科网站建设网页怎么建
  • 中国光大国际建设工程公司网站论坛是做网站还是app好
  • 地产集团网站建设高德是外国公司吗?
  • 天津市网站建站制作网站建设新报价图片欣赏
  • 怎么样在百度搜到自己的网站高端房产网站建设
  • 邯郸做移动网站多少钱ui设计好就业吗
  • 共享虚拟主机普惠版做网站产品推广包括哪些内容
  • 广州市网站建站免费咨询医生有问必答
  • app网站建设制作哪个网站可以做魔方图片
  • 教育培训网站建设方案模板下载网站文风
  • 电龙网站建设wordpress文章两端对齐
  • 做外单网站亚马逊免费的网站加速器
  • 英文网站推广工作一个虚拟主机可以做几个网站吗
  • 微网站 合同重庆电力建设设计公司网站
  • 网站怎么设置支付网站源码下载后怎么布置
  • 广州市公需课在哪个网站可以做手机商城软件下载
  • app网站建设需要什么长治网站建设公司
  • 网站模板平台广告宣传网站
  • cc域名的网站做网站放太多视频
  • 让公司做网站要注意什么建设工程公司企业文化
  • 佛山搭建建网站哪家好微信如何建立自己的公众号
  • 联想公司网站建设现状广州建网站兴田德润团队
  • 网站开发的技术有网页设计实训报告工作内容和步骤