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

增城网站怎么做seo常营网站建设

增城网站怎么做seo,常营网站建设,网站小游戏怎么做的,青岛 公司 网站建设首先我们应该知道C的三大特性就是封装、继承和多态。 此篇文章将详细的讲解继承的作用和使用方法。 继承 一个类#xff0c;继承另一个已有的类#xff0c;创建的过程 父类(基类)派生出子类(派生类)的过程 继承提高了代码的复用性 【1】继承的格式 class 类名:父类名 {}; 【…首先我们应该知道C的三大特性就是封装、继承和多态。 此篇文章将详细的讲解继承的作用和使用方法。 继承 一个类继承另一个已有的类创建的过程 父类(基类)派生出子类(派生类)的过程 继承提高了代码的复用性 【1】继承的格式 class 类名:父类名 {}; 【2】继承的权限 class 类名:继承的权限 父类名 {};如果不写继承方式默认是私有继承 父类中的权限      public|private|protected  public|private|protected   public|private|protected               继承方式                 public                    private                   protected 子类中的权限      public|不能访问|protected  private|不能访问|private    protected|不能访问|protected【3】继承时类中的特殊成员函数 特殊的成员函数不会被继承 构造函数: 需要在子类中显性调用父类的构造函数(初始化列表中)(透传构造)透传构造继承构造委托构造 需要在子类中显性调用父类构造函数的场合: 父类中只有有参构造  -----子类在创建类对象时必须手动调用父类的构造函数 #include iostreamusing namespace std;class Father { public:int age;char c;Father(int a,char c):age(a),c(c){cout  Father有参  endl;} };class Child:public Father    //-----私有继承 {int high; public:void show(){cout  c  endl;} };int main() {//Child c1;  //error因为父类只有有参构造而子类中没有提供能够调用父类有参构造的构造函数不能成功创建父类的空间//Father f1;c1.age;cout  sizeof (Father)  endl;cout  sizeof (Child)  endl;return 0; } i透传构造 在子类构造函数的初始化列表中显性调用父类的构造函数 ii继承构造 C支持 不用在子类中再写一遍父类的构造函数 使用using Father::Father -----在子类中使用父类的构造函数 直接使用继承构造的方式不能对子类成员初始化 继承构造本质上并不是把父类中的构造函数继承给子类编译器自动根据父类中构造函数的格式提供出派生的构造函数(个数和参数都和父类中的构造函数一致)主要还是通过透传构造创建父类的空间 #include iostream using namespace std;class Father { public:int age;char c; //    Father(){cout  Father无参  endl;}Father(int a,char c):age(a),c(c){cout  Father有参两个参数  endl;}Father(char c):c(c){cout  Father有参一个参数的  endl;}Father(Father other):age(other.age),c(other.c){cout  Father拷贝  endl;} };class Child:public Father    //-----私有继承 { private:int high;//父类中的public成员age通过公有继承仍然是publicusing Father::age; //把父类中公有继承下来的age成员在子类中改成私有权限 public:void show(){cout  c  endl;}//子类的无参构造但是显性调用父类的有参构造还给了默认值//透传构造 //    Child():Father(12,a){cout  Child无参构造  endl;} //    Child(int a,char c,int h):Father(a,c),high(h) //    {cout  Child有参构造  endl;}//父类中的所有构造函数都被继承到了子类中using Father::Father; //更高效一些 };int main() {Child c1(10);Child c2(20,z);Child c3  c2;//Father f1;//c1.age;cout  sizeof (Father)  endl;cout  sizeof (Child)  endl;return 0; }iii委托构造 一个类的情况并不直接通过无参构造实例化对象而是无参构造委托了有参构造实例化对象 继承时的情况     Child():Child(10){cout  Child无参构造  endl;}   //Child c1Child(int a):Father(12,a),high(a){cout  Child有参构造一个参数  endl;} iv拷贝构造 需要在初始化列表中显性调用父类的拷贝构造传other对象到父类的拷贝构造中 Father(Father other):age(other.age),c(other.c){cout  Father的拷贝构造  endl;} Child(Child other):Father(other),high(other.high){} 【4】继承时构造和析构的时机 继承关系可以理解为包含关系 子类在继承父类时会把父类中的成员保留一份再来创建子类自己的成员 父类先构造子类后构造 子类先析构父类后析构 #include iostreamusing namespace std; class F {int *p; public:F():p(new int){cout  F无参构造  endl;}~F(){delete p;cout  F析构函数  endl;} }; class C:public F {int *p; public:C():p(new int){cout  C无参构造  endl;}~C(){delete p;cout  C析构函数  endl;} };int main() {C *p1  new C;delete p1; //空间释放时会自动调用析构函数无需手动调用p1  nullptr;return 0; }【5】父子类中存在同名成员问题 访问时不会发生冲突默认访问子类的 #include iostream using namespace std; class F { public:int *p;F():p(new int){cout  F无参构造  endl;}~F(){delete p;cout  F析构函数  endl;} }; class C:public F { public:int *p;C():p(new int){cout  C无参构造  endl;}~C(){delete p;cout  C析构函数  endl;} };int main() {C *p1  new C;*(p1-p) 90;cout  *(p1-p)  endl; //子类成员和父类成员同名默认优先访问子类成员cout  *(p1-F::p)  endl; //通过域限定符访问父类的成员delete p1; //空间释放时会自动调用析构函数无需手动调用p1  nullptr;return 0; } 多重继承 一个子类继承自多个基类 【1】格式 class 类名:继承权限 父类名,继承权限 父类名···· {} 【2】当多个父类中包含同名成员 多个父类中包含同名成员通过域限定符访问指定的父类中成员 #include iostreamusing namespace std;class Room { public:void clean(){cout  打扫房间  endl;} }; class BedRoom { public:void play(){cout  可以玩游戏  endl;}void clean(){cout  打扫卧室  endl;} };//Home类公共继承字Room和BedRoom类 class Home:public Room,public BedRoom { };int main() {Home h1;h1.play();h1.Room::clean();h1.BedRoom::clean();return 0; } 菱形继承(钻石继承) 【1】格式      A                -----公共基类/   \B     C             ------中间子类\   /D                ------汇集子类 汇集子类中会包含两份公共基类中的内容 【2】菱形继承存在的问题 会发生二义性的问题(同一个变量或者函数可以通过两种方法访问)如果公共基类过大会造成汇集子类中的代码膨胀/冗余 #include iostreamusing namespace std; class A { public:int a;//A(int a):a(a){cout  A  endl;} };class B:public A { public:int c;//B(int a,int c):A(a),c(c){cout  B  endl;} };class C:public A { public://C(int a):A(a){cout  C  endl;} };class D:public C,public B { public://D(int a,int c):B(a,c),C(a),A(a){cout  D  endl;} };int main() {D d1;d1.B::a  90; //二义性还可以直接通过中间子类访问直接访问B中的a成员//cout  d1.C::A::a  endl;  //会发生二义性因为访问A但是有两条路径都访问到Areturn 0; } 【3】虚继承(virtual) 虚继承指对公共基类的虚继承。 主要用于解决菱形继承问题 采用虚继承后公共基类中的内容只会在汇集子类中存在一份在汇集子类中可以通过任意一条路径访问到公共基类中的成员 #include iostreamusing namespace std; class A { public:int a; };class B:virtual public A { public:int c; };class C:virtual public A {};class D:public B,public C {};int main() {D d1;d1.B::A::a  90;cout  d1.C::A::a  endl;return 0; }
http://www.dnsts.com.cn/news/147719.html

相关文章:

  • 自助网站建设 网易沈阳h5网站建设
  • 网站规划与建设课程来宾建设网站
  • 网站规划的类型怎么做网上卖货
  • 网站管理怎么做百度免费推广网站
  • 网站开发环境的配置设置网站建设方案
  • 建网站 西安iis添加网站ip地址
  • 营销型网站的建设智慧校园信息门户网站建设
  • 集团网站设计案例wordpress时区问题
  • 南京 高端网站制作wordpress伪静态后二级目录错误
  • 企业为什么做网站优化推广wordpress安装路径
  • 中国广东网站建设在哪些网站能接到活做
  • 网站建设系统哪家好旅游的网页设计模板
  • 手机网站怎么备案百度推广网站吸引力
  • 网站经营科协网站建设的意见
  • 福建省漳州市建设厅网站企业网站建设的经验心得
  • 迅速编程做网站自己开发的软件如何赚钱
  • 电子商务网站建设需求文档wordpress在线题库
  • 信息管理网站开发的视频教程一个女装店网站建设的策划模板
  • 如何制作网站效果图做农村电商要多少钱
  • 全球购物官方网站有哪些新公司建网站
  • 温州seo网站推广二个字最旺财的公司名字
  • 做外贸的网站有哪几个网站策划选题
  • 红色大气企业网站php免费企业网站源码
  • 建设官方企业网站商务网站建设与维护课程
  • 做一个软件大概要多少钱杭州seo 云优化科技
  • 西安网站开发高端网站开发在国内做跨境电商怎么上外国网站
  • 域名解析完成网站怎么做企业建一个网站
  • 做课程的网站998元网站建设优化
  • 怎样在国外网站上做外贸广告南京网页设计哪家好
  • 网站搭建的费用深圳市广告传媒有限公司