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

站群软件哪个好dedecms 子网站

站群软件哪个好,dedecms 子网站,推广关键词排名,fw可以做网站1.构造函数 定义了派生类之后#xff0c;要使用派生类就需要声明该类的对象。对象在使用之前必须初始化。 派生类的成员对象是由所有基类的成员对象共同组成的。因此构造派生类函数的对象时#xff0c;就要对基类的成员对象和新增的成员对象进行初始化。 基类的构造函数并…1.构造函数 定义了派生类之后要使用派生类就需要声明该类的对象。对象在使用之前必须初始化。 派生类的成员对象是由所有基类的成员对象共同组成的。因此构造派生类函数的对象时就要对基类的成员对象和新增的成员对象进行初始化。 基类的构造函数并没有继承下来要完成这些工作就必须给派生类添加新的构造函数。派生类对于基类的很多成员对象是不可以直接访问的因此要完成对基类成员对象初始化工作需要通过调用基类的构造函数。 派生类的构造函数需要以合适的初值作为参数其中一些参数要传递给基类的构造函数用于初始化相应的成员另一些参数要用于对派生类新增的成员对象进行初始化。 在构造派生类对象时会首先调用基类的构造函数来初始化它们的数据成员然后按照构造函数初始化列表中指定的方式初始化派生类新增的成员对象最后才执行派生类构造函数的函数体。 1派生类构造函数的一般语法形式 派生类名::派生类名(参数表):基类名1(基类1初始化参数表),...,基类名n(基类n初始化参数表),成员对象名1(成员对象1初始化参数表),...,成员对象名m(成员对象m初始化参数表) {派生类构造函数的其他初始化操作; }这里派生类的构造函数名于派生类名相同。在构造函数的参数表中需要给出初始化基类数据和新增成员对象所需要的参数。在参数表之后列出需要使用参数进行初始化的基类名和成员对象名及各自的初始化参数表各项之间用逗号隔开。 当一个类同时有多个基类时对于所有需要给予参数进行初始化的基类都要显式给出基类名和参数表。对于使用默认构造函数的基类可以不给出类名。同样对于成员对象如果是使用默认构造函数也不需要写出对象名和参数表。 2声明派生类构造函数 如果对基类初始化时需要调用基类的带有形参表的构造函数时派生类就必须声明构造函数提供一个将参数传递给基类构造函数的途径保证基类进行初始化时能获得必要的数据。 如果不需要调用基类的带参数的构造函数也不需要调用新增的成员对象的带参的构造函数派生类也可以不用声明构造函数全部采用默认的构造函数这时新增成员的初始化工作可以用其他公有成员函数来完成。当派生类没有显式构造函数时系统会隐含生成一个默认构造函数该函数会使用基类的默认构造函数对继承自基类的数据初始化并且调用派生类的类类型的成员对象的默认构造函数对这些成员对象初始化。 派生类构造函数执行的一般顺序如下 ①调用基类的构造函数调用顺序按照它们被继承时声明的顺序从左到右。 ②对派生类新增的成员对象初始化初始化顺序按照它在类中声明的顺序。 ③执行派生类的构造函数体中的内容。 【注意】构造函数初始化列表中基类名、对象名之间的次序无关紧要它们各自出现的顺序可以是任意的无论它们的顺序怎样安排基类构造函数的调用和各个成员对象的初始化顺序都是确定的。 【例】派生类的构造函数举例多继承含有内嵌对象有3个基类B1B2和B3。其中B3只有一个默认构造函数其余两个基类的成员只有一个带有参数的构造函数。类D由这三个基类结果公有继承派生而来。派生类新增了3个私有对象成员分别是B1B2和B3类的对象。 #includeiostream using namespace std;class B1//基类B1构造函数有参数 { public:B1(int i){cout 构造B1对象 i endl;} };class B2//基类B2构造函数有参数 { public:B2(int j){cout 构造B2对象 j endl;} };class B3//基类B3构造函数无参数 { public:B3(){cout 构造B3对象 endl;} };class D:public B2,public B1,public B3//派生类D注意基类名的顺序 { public://派生类的公有成员D(int a,int b,int c,int d):B1(a),b2(d),b1(c),B2(b){}//注意类名的个数与顺序注意成员对象名的个数与顺序private://派生类的私有成员对象B1 b1;B2 b2;B3 b3; };int main() {D d(1, 2, 3, 4);return 0; }运行结果 结果分析 因为**基类和内嵌对象成员都具有默认构造函数所以派生类中需要显式声明一个构造函数用来初始化基类及内嵌对象成员。**派生类的构造函数定义为 D(int a,int b,int c,int d):B1(a),b2(d),b1(c),B2(b){}构造函数的参数表中给出了基类及内嵌对象成员所需要的全部参数在冒号之后分别列出各个基类及内嵌对象名和各自的参数。需要注意两个问题一是这里并没有列出全部基类和成员对象由于B3类只有默认构造函数不需要给它传递参数因此基类B3以及B3类成员对象b3就不必列出。二是在派生类的构造函数中基类名和成员对象名的顺序是随意的。 这个派生类构造函数的函数体为空只起到了传递参数和调用基类及内嵌对象构造函数的作用。 程序中主函数中只声明了一个派生类D的对象d生成对象d时调用了派生类的构造函数。D类派生类构造函数的执行情况应该是先调用基类的构造函数然后调用内嵌成员对象的构造函数。基类构造函数的调用顺序是按照派生类定义时的顺序因此应该是先B2再B1最后B3而内嵌对象的构造函数调用顺序应该是按照成员在类中的声明顺序应该是先B1再B2最后B3。 派生类构造函数的定义中并没有显式列出基类B3和B3类的对象b3这时系统就会自动调用该类的默认构造函数。如果一个基类同时声明了默认构造函数和带参数的构造函数那么在派生类构造函数声明中既可以显式列出基类名和相应的参数也可以不列出。 3派生类构造函数的特点 ①基类和内嵌对象成员都具有非默认构造函数时派生类中需要显式声明一个构造函数用来初始化基类及内嵌对象成员。 ②如果一个基类中只有默认构造函数那么在派生类的构造函数中不需要列出这个基类和这个基类类型的成员对象不需要它们传参。系统就会自动调用该类的默认构造函数。 ③在派生类的构造函数中基类名和成员对象名的顺序是随意的。 ④如果派生类构造函数的函数体为空那么该派生类的构造函数只起到了传递参数和调用基类及内嵌对象构造函数的作用。 ⑤类派生类构造函数的执行情况应该是先调用基类的构造函数然后调用内嵌成员对象的构造函数。基类构造函数的调用顺序是按照派生类定义时的顺序内嵌对象的构造函数调用顺序应该是按照成员在类中的声明顺序。 ⑥如果一个基类同时声明了默认构造函数和带参数的构造函数那么在派生类构造函数声明中既可以显式列出基类名和相应的参数也可以不列出。
http://www.pierceye.com/news/791189/

相关文章:

  • 网站icp备案信息是什么一号网站建设
  • 怎么样做网站徐州市中宇建设工程有限公司网站
  • 网站建站公司官网免费企业网站建设介绍
  • 知名网站建设托管河北建筑工程学院招生信息网
  • 服务器网站建设流程图十堰网站制作公司电话
  • 营销型网站seo开发一个app需要什么技能
  • 网站的欢迎页怎么做织梦网站名称修改
  • 树莓派做博客网站济南抖音推广公司
  • 网站短链接生成济宁网络
  • 组建 网站开发团队交互设计作品集网站
  • 宜春个人网站建设网站建设惠州
  • 医院网站开发兼职wordpress 域名跳转
  • 安监局网站建设wordpress 修改路径
  • 快速搭建网站wordpress成品网站货源入口
  • 信宜手机网站建设公司广州网站建设服务商
  • 网站备案注册3g免费网站制作
  • 做网站需要vps吗建设银行etc的网站是哪个好
  • 网站服务器 2核如何做网站联盟
  • 做空间的网站吗wordpress 视频管理 主题
  • 做外链选择那些网站建网站怎样往网站传视频
  • 网站主机多大车陂手机网站建设报价
  • 网站策划书内容wordpress 一键恢复
  • wordpress+外观+权限seo排名工具
  • 江苏企业网站制作哪家好潍坊网站开发招生信息
  • 建设一个地方门户网站网站名称搜索不到
  • 南江县住房和城乡建设局网站上海seo关键词优化
  • 门窗厂家东莞网站建设湖南健康码
  • 企业网站建设的背景和目的互联网政务服务平台
  • 化州市住房和城乡建设局网站开发网站心得
  • 网站设计制作公司需要什么资质python h5网站开发