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

做网站要有自己服务器吗品牌建设是指

做网站要有自己服务器吗,品牌建设是指,小程序外包多少钱,微信商户平台开发文章目录 一、多态的概念二、多态使用三、多态的原理 一、多态的概念 1、概念#xff1a; 多态就是具有多种形态#xff0c;可以理解为同一个行为不同对象去完成表现出不同的状态#xff0c;如#xff1a; 二、多态使用 1、构成多态的条件 #xff08;1#xff09;派… 文章目录 一、多态的概念二、多态使用三、多态的原理 一、多态的概念 1、概念 多态就是具有多种形态可以理解为同一个行为不同对象去完成表现出不同的状态如 二、多态使用 1、构成多态的条件 1派生类要对基类虚函数进行重写。 2通过基类指针或引用调用虚函数。 2、虚函数 关键字virtual加在函数声明前面并且该函数是非静态成员函数。 如 3、函数重写 1条件 派生类重写的函数返回值、函数名称、函数参数与基类相同。 2使用 class Person { public: //虚函数virtual void test01(){//...} }; class Student : public Person { public://重写 virtual关键字在派生类中写不写都可virtual void test01(){//...} };3例外 协变 派生类重写基类虚函数时与基类虚函数返回值类型不同。即基类虚函数返回基类对象的指 针或者引用派生类虚函数返回派生类对象的指针或者引用时称为协变。 class Person { public:virtual Person test01(){//...} }; class Student : public Person { public://重写 返回值是继承关系virtual Student test01(){//...} };析构函数 如果基类的析构函数为虚函数此时派生类析构函数只要定义无论是否加virtual关键字 都与基类的析构函数构成重写虽然基类与派生类析构函数名字不同。虽然函数名不相同 看起来违背了重写的规则其实不然这里可以理解为编译器对析构函数的名称做了特殊处 理编译后析构函数的名称统一处理成destructor。 如果出现以下情况就会出现子类没有析构 class Person { public:~Person() { cout ~Person() endl; } }; class Student : public Person { public:~Student() { cout ~Student() endl; } };void test() {//情况//不重写析构函数时Person* p new Student;delete p; }如果重写之后调用调用子类的析构子类的析构再去调用父类析构就不会出现以上情况了。 class Person { public:virtual ~Person() { cout ~Person() endl; } }; class Student : public Person { public:~Student() { cout ~Student() endl; } };void test() {Person* p new Student;delete p; }3重载、重定义隐藏、重写的区别 重载同一作用域下函数名相同参数类型、个数、顺序不同。 重定义作用域不同派生类域、基类域函数名相同。 重写作用域不同派生类域、基类域必需是虚函数函数名相同、返回类型相同、参数相同。 4使用多态 class Person { public://虚函数virtual void test01() {cout Person endl;} protected:int _a; };class Student : public Person { public:virtual void test01() {cout Student endl;} protected:int _b; };void Print(Person* pp) {pp-test01(); }void test() {Person p;Student s;//基类对象传给基类指针pppp还是基类 -不构成多态依然使用基类的函数Print(p);//派生类对象传给基类指针pppp指向的是派生类- 构成多态使用的是派生类重写的函数Print(s); }4、抽象类 1纯虚函数 在虚函数声明后面加上 0 就是纯虚函数了。 virtual void test01() 0;2 拥有纯虚函数的类叫做抽象类抽象类不能被实例化当派生类继承抽象类后必须重写抽象类中的纯虚函数不然该派生类依旧还是抽象类不能被实例化。 //抽像类 class Person { public://纯虚函数virtual void test01() 0; }; class Student : public Person { public://重写纯虚函数virtual void test01(){cout virtual void test01() endl;} };三、多态的原理 1、虚函数表 一个类中存在虚函数是会生成一个指针该指针指向的内容就是虚函数表。 在x86环境下 //抽像类 class Person { public://虚函数virtual void test01() {}; protected:int _a; };void test() {Person p;cout sizeof(Person) endl; }当派生类继承基类时也会产生一个虚函数指针该指针指向的内容一部分是从父类继承下来的一部分是重写的。 test01()使用了派生类的test02()没有重写还是使用基类的。 2、多态原理 满足多态以后的函数调用不是在编译时确定的是运行起来以后到对象的中取找的。不满足多态的函数调用时编译时确认好的运行时确定。 3、动态绑定和静态绑定 静态绑定又称为前期绑定(早绑定)在程序编译期间确定了程序的行为也称为静态多态 比如函数重载动态绑定又称后期绑定(晚绑定)是在程序运行期间根据具体拿到的类型确定程序的具体 行为调用具体的函数也称为动态多态。 4、多继承与多态 class Person1{ public://虚函数virtual void test01() {};protected:int _a; };class Person2 { public://虚函数virtual void test02() {};protected:int _b; };class Student : public Person1, public Person2 { public://重写Person1void test01(){}//重写Person2void test02() {}void test03(){} protected:int _b; };void test() {Student s; }多继承时每个基类会生成相应的虚函数指针。
http://www.dnsts.com.cn/news/113585.html

相关文章:

  • 价格网app下载常德网站优化推广
  • 电商网站建设与课程设计苏醒wordpress
  • 重庆建设教育协会网站首页广州建设工程交易网
  • 做视频网站把视频放在哪里世界军事新闻最新消息
  • 如何利用网站策划做好网站建设上海到北京高铁价格查询
  • 宜昌永东建设网站镇江网页设计
  • 网站开发项目资金运用明细个人网站开发合同
  • 哪个公司建网站好企业官网定制设计
  • 视频网站如何赚钱c 网站开发人员工具
  • 网站设计基本要素网站建设网站设计
  • 网站建设课程大纲网络营销网课
  • 网站开发流程传智播客江门移动网站建设报价
  • 湖北分行建设银行网站遵义seo网络优化招聘
  • 做北京电梯招标的网站企业邮箱可以是个人qq邮箱吗
  • 手机编程网站房产集团网站建设
  • 北京建站者公司永安网页设计
  • 中科网站建设新网站一般建设空间大小
  • 网站建设经理岗位职责国家企业信用公示信息年报官网
  • 奢侈品商城网站建设方案哪些官网用wordpress
  • 赣州网站建设jx25网站友链是什么情况
  • 斗门网站建设竞赛网站开发
  • 网站建设 主机选择郑州做网站哪家好熊掌号
  • 网站建设综合案例如何做背景不动的网站
  • 网站建设杭州搜索引擎排名国内
  • 沙洋建设局网站网络推广的工作内容
  • 网站建设优化是干嘛分销平台软件
  • 网站后端做留言板功能龙岩小程序建设
  • 网站服务器关闭怎么恢复高校网站建设资料库
  • 怎样自己建立一个网站建筑公司招聘岗位
  • 网站维护 年费网站建设公司华网天下官网