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

利于优化的网站要备案吗文章列表插件wordpress

利于优化的网站要备案吗,文章列表插件wordpress,实时国际新闻app,权威发布意思体现的是代码复用的思想 1、子类继承父类#xff0c;子类就拥有了父类的特性#xff08;成员方法和成员属性#xff09; 2、已存在的类被称为“基类”或者“父类”或者“超类”#xff1b;新创建的类被称为“派生类”或者“子类” 注意#xff1a; #xff08;1#…体现的是代码复用的思想 1、子类继承父类子类就拥有了父类的特性成员方法和成员属性 2、已存在的类被称为“基类”或者“父类”或者“超类”新创建的类被称为“派生类”或者“子类” 注意 1子类继承了父类子类就拥有了父类的属性和方法 2如果子类重写了父类的同名方法子类对象默认调用的是子类自己的成员方法如果想调用父类的同名方法要添加父类作用域限定符 #include iostreamusing namespace std;class Father{ public: int num188; int num299; public: //成员方法 void show()const{ coutnum1num1,num2num2endl; } void cook(){ cout做水煮鱼endl; } }; class Son:public Father{ //public放在继承的地方表示继承方式是公有继承 public: void sing(){ cout唱歌endl; } void cook(){ cout做红烧肉endl; } };int main(){ Son s1; s1.cook(); //默认子类调用的是自己的成员方法 s1.show(); s1.sing(); s1.Father::cook(); //子类可以使用添加父类作用域限定符来调用父类的同名方法 return 0; }1、构造函数 1.1 派生类的构造函数 继承中的无参构造函数 1基类父类中的构造函数不能被继承 2派生类子类中必须要调用基类中的构造函数来完成属性的初始化 3默认情况下编译器会自动在派生类中调用父类的无参构造函数 4子类继承了父类子类独有的属性需要在自己的构造函数进行初始化而子类从父类继承过来的属性必须通过子类构造函数调用父类构造函数进行初始化 #include iostreamusing namespace std;class Father{ public: int num188; int num299; public: //编译器默认的无参构造函数 Father(){} //有参构造函数 Father(int num1,int num2) :num1(num1),num2(num2){} }; class Son:public Father{ //public放在继承的地方表示继承方式是公有继承 public: int a; public: //编译器默认的子类无参调用父类无参构造函数 Son():Father(){} //子类有参构造函数调用父类有参构造函数来完成继承下来的属性的初始化 Son(int num1,int num2,int a):Father(num1,num2),a(a){} };int main(){ Son s2(10,55,66); // s2.show(); couts2.aendl; //66 return 0; }1.2 派生类调用基类构造函数 1目的因为构造函数和析构函数不能继承所以派生类的构造函数通过调用基类的构造函数完成部分属性的初始化 2派生类的构造函数调用基类的构造函数的方式透传构造、委托构造、继承构造 1.2.1 透传构造 派生类的构造函数直接调用基类的构造函数 class Father{ public: int num; public: //无参构造函数----委托构造 Father():Father(90){} //有参构造函数 Father(int num) :num(num){} }; class Son:public Father{ //public放在继承的地方表示继承方式是公有继承 public: int num1; public: //委托构造 Son():Son(2,88){} //透传构造 Son(int num1,int num):Father(num),num1(num1){} }; 1.2.2 委托构造 可维护性好但效率相对较低 思想一个类中的构造函数是可以调用这个类中的其他构造函数 父类的无参构造函数调用父类的有参构造函数子类的无参构造函数调用子类的有参构造函数子类的有参构造函数透传父类的有参构造函数 注意委托构造离不开透传构造 class Father{ public: int num; public: //无参构造函数----委托构造 Father():Father(90){} //有参构造函数 Father(int num) :num(num){} }; class Son:public Father{ //public放在继承的地方表示继承方式是公有继承 public: int num1; public: //委托构造 Son():Son(2,88){} //透传构造 Son(int num1,int num):Father(num),num1(num1){} }; 1.2.3 继承构造 透传构造的简写方式一句话自动实现透传构造编译器会自动给派生类添加n个构造函数n取决于基类中构造函数的个数并实现自动透传其基类构造函数 class Father{ public: int num; int age; string addr; public: //无参构造函数----委托构造 Father():Father(90){} //有参构造函数 Father(int num) :num(num){} Father(int age,string addr) :age(age),addr(addr){} }; class Son:public Father{ //public放在继承的地方表示继承方式是公有继承 public: int num199; public://继承构造 using Father::Father; };2、对象的构建和销毁的过程 1成员对象类中有一个成员该成员是对象类型叫做对象成员 先调用成员对象的构造函数再调用自己的构造函数析构函数则相反 2父子类继承时 先调用父类的构造函数再调用子类的构造函数析构函数则相反 3静态成员对象类中有一个静态成员该成员是一个对象类型 静态成员对象的构造函数先执行再执行自己的构造函数析构函数则相反 顺序 构造函数静态成员对象----成员对象----父类----子类 析构函数子类----父类----成员对象----静态成员对象 2.1 成员对象 class Demon{ public: //构造函数 Demon(){ cout成员对象的构造函数endl; } ~Demon(){ cout成员对象的析构函数endl; } };class Test{public: Test(){ cout构造函数endl; } ~Test(){ cout析构函数endl; } }; 2.2 父子类继承时 class Father{ public: Father(){ cout父类构造endl; } ~Father(){ cout父类析构endl; } }; class Son:public Father{ public: Son():Father(){ cout子类构造endl; } ~Son(){ cout子类析构endl; } }; 2.3 静态成员对象 class P{ public: P(){ cout静态成员对象的构造endl; } ~P(){ cout静态成员对象的析构endl; } }; class Phone{ public: //类内声明 static P p1; //静态成员变量的声明 Phone(){ cout构造函数endl; } ~Phone(){ cout析构函数endl; } }; P Phone::p1P(); //类外初始化 3、权限  3.1 权限修饰符 C中成员的权限修饰符有3种 1public共有的        类内、子类内、类外可以访问 2private私有的        只能类内访问 3protected受保护的        类内、子类内可以访问 注意如果权限修饰符可以省略默认是private #include iostreamusing namespace std;class Father{ public: int num1; private: int num2; protected: int num3; public: //构造函数 Father(int num1,int num2,int num3) :num1(num1),num2(num2),num3(num3){} void show()const{ coutthis-num1 ; //public 类内可以访问 coutthis-num2 ; //private 类内可以访问 coutthis-num3 ; //protected 类内可以访问 cout*******endl; } }; class Son:public Father{ public: using Father::Father; void fun()const{ coutthis-num1 this-Father::num1 ; //public 子类内可以访问 coutthis-num3 this-Father::num3 ; //protected 子类内可以访问 cout*******endl; } };int main(){ Father f1(1,2,3); f1.show(); Son s1(4,5,6); s1.fun(); couts1.num1endl; //public 类外可以访问 return 0; } 3.2 继承方式 3.2.1 public共有继承 1父类是public----子类也是public 2父类是protected----子类也是protected 3父类是private----子类也是private但是类内不可以直接访问可以间接访问 #include iostreamusing namespace std;class Father{ public: int num1; protected: int num2; private: int num3; public: Father(int num1,int num2,int num3) :num1(num1),num2(num2),num3(num3){} void fun()const{} int get_num3()const{ return num3; } }; class Son:public Father{ public: Son(int num1,int num2,int num3) :Father(num1,num2,num3){} void show(){ coutthis-num1endl; //父类public----子类也是public类内可以访问 coutthis-num2endl; //父类protected----子类也是protected // coutthis-num3endl; //报错父类private----子类也是private但是类内不可以直接访问 coutthis-Father::get_num3()endl; //父类private----子类也是private可以间接访问 cout******endl; } }; class Sunzi:public Son{ public: Sunzi(int num1,int num2,int num3) :Son(num1,num2,num3){} void fun()const{ coutthis-num1 this-Son::num1endl; //父类public----子类也是public派生类内可以访问 coutthis-num2 this-Son::num2endl; //父类protected----子类也是protected cout******endl; } };int main(){ Son s1(1,2,3); s1.show(); couts1.num1endl; //父类public----子类也是public类外可以访问 Sunzi sz(4,5,6); sz.fun(); return 0; }3.2.2 protected受保护的继承 1父类是public----子类是protected 2父类是protected----子类也是protected 3父类是private----子类也是private但是类内不可以直接访问可以间接访问 #include iostreamusing namespace std;class Father{ public: int num1; protected: int num2; private: int num3; public: Father(int num1,int num2,int num3) :num1(num1),num2(num2),num3(num3){} void fun()const{} int get_num3()const{ return num3; } }; class Son:protected Father{ public: Son(int num1,int num2,int num3) :Father(num1,num2,num3){} void show(){ coutthis-num1endl; //父类public----子类是protected coutthis-num2endl; //父类protected----子类也是protected // coutthis-num3endl; //报错父类private----子类也是private但是类内不可以直接访问 coutthis-Father::get_num3()endl; //父类private----子类也是private可以间接访问 cout******endl; } }; class Sunzi:protected Son{ public: Sunzi(int num1,int num2,int num3) :Son(num1,num2,num3){} void fun()const{ coutthis-num1 this-Son::num1endl; //父类public----子类是protected coutthis-num2 this-Son::num2endl; //父类protected----子类也是protected cout******endl; } };int main(){ Son s1(1,2,3); s1.show(); Sunzi sz(4,5,6); sz.fun(); return 0; }3.2.3 private私有继承 1父类是public----子类是private类内可以直接访问 2父类是protected----子类是private类内可以直接访问 3父类是private----子类也是private但是类内不可以直接访问可以间接访问 4、多重继承 4.1 概念 继承中允许有多个基类每一个基类的继承都可以看作是唯一的独一继承此时派生类就拥有了所有基类的特性 #include iostream using namespace std;class Sofa{ public: int num1; public: void job(){ cout沙发可以坐endl; } }; class Bed{ public: void work(){ cout床可以躺endl; } }; class SofsBed:public Sofa,public Bed{ public: void work(){ cout即可以躺又可以坐endl; } };int main(){ SofsBed sfb; sfb.job(); sfb.work(); coutsfb.numendl; sfb.Bed::work(); return 0; }问题多个基类同时拥有同名成员函数此时派生类对象直接调用该函数会产生歧义 解决方法添加基类作用域限定符 4.2 菱形继承 多继承中的若干个基类又同时拥有同一个基类此时叫菱形继承钻石继承 #include iostream using namespace std;//爷爷类 class Furniture{ public: void show(){ cout我们是家具endl; } }; //基类 class Sofa:virtual public Furniture{}; class Bed:virtual public Furniture{}; //派生类 class SofsBed:public Sofa,public Bed{};int main(){ SofsBed sfb; // sfb.show(); //报错问题两个基类拥有了同名函数产生了歧义 //解决方法1使用基类作用域限定符 sfb.Bed::show(); sfb.Sofa::show(); //解决方法2使用虚继承 /*继承方式有两种普通继承默认的和虚继承继承方式前添加virtual关键字*/ sfb.show(); return 0; }
http://www.hkea.cn/news/14388969/

相关文章:

  • 北京建设银行网站网址你懂我意思正能量2021
  • 超碰网站正在建设中福建省住建厅网站官网
  • 企业商城网站开发建设淮安做网站.哪家网络公司好?
  • 建设银行 网站查询密码微信分销系统ppt
  • 南昌网站seo费用重庆建筑工程信息管理平台
  • 常见的网站盈利方式网站做字工具
  • 有个做图片mv的网站56晋中企业网站建设
  • 做网站的研究生专业备案 修改网站名称
  • 北京电子商务app网站建设大兴网站建设与维护大作业
  • 网站logo设计理念公众号 链接wordpress
  • 做网站用什么cms深圳做网站优化工资多少
  • 搭建一个网站大概需要多少钱seo推广培训
  • 深圳定制网站建设服务公司新网域名
  • 东莞网站建设公司招聘信息wordpress 中文cms模版
  • 电商公司做网站网站建设分工表
  • 北京英文网站建设手机网页制作网站建设
  • 织梦手机网站免费模板禁止wordpress更新提示
  • 绵阳集团网站建设母版页做网站例子
  • 网站开发人员属于什么软件如何在本地安装部署 wordpress
  • 会计网站模板网站代运营收费
  • 做瑞士网站深圳外贸网站怎么建
  • 沈阳做网站开发公司做毕业设计的网站
  • 站长工具高清公司网站建设的费用会计处理
  • 网站全景看图怎么做产品网络营销推广方式
  • 做网站必须租服务器吗黑河城乡建设局网站
  • 做网站的专业叫什么wordpress 团购 主题
  • 好网站建设公司服务咨询行业
  • 中国建设企业银行网站首页成都成仁路网站建设
  • 济南网站建设优化百家号深圳手机建站模板
  • 熊掌号结合网站做seo创建自己的网站