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

j2ee只做网站在线代理服务器网站

j2ee只做网站,在线代理服务器网站,做教育的有哪些网站,唐山做网站优化派生类是否需要定义构造函数,取决于基类的构造函数情况。 前提:派生类的构造函数负责初始化整个对象,包括基类部分和派生类新增的成员。 情况1、如果基类: (1)不定义构造函数,or &#xff0…

派生类是否需要定义构造函数,取决于基类的构造函数情况。

前提:派生类的构造函数负责初始化整个对象,包括基类部分和派生类新增的成员。

情况1、如果基类:

(1)不定义构造函数,or

(2)有无参构造函数,or

(3)定义了带默认形参值的构造函数,

这3种情况本质上就是初始化基类数据时可以不需提供参数,这样,派生类即使不定义构造函数,继承到的基类数据也可以被初始化,所以在这些情况下,派生类可以不定义构造函数。

情况2、如果基类定义了带参数的构造函数且没有默认形参值,

则在初始化基类数据的时候,就必须提供具体的参数值,所以派生类在初始化这些基类的数据的时候,也需要提供具体参数值,这些参数值必须在构造函数里给出,所以派生类必须定义构造函数。

总之,派生类是否需要定义构造函数,取决于初始化基类对象时是否必须提供参数。

如果可以不提供参数(上述情况1),派生类就可以不定义构造函数;

如果必须提供参数(上述情况2),派生类就必须定义构造函数。

 情况1:

(1)不定义构造函数实例:

#include <iostream>
using namespace std;class Date {
public:void setDate(int y, int m, int d) {year = y;month = m;day = d;}void showDate() {cout << year << "-" << month << "-" << day << endl;}private:int year, month, day;
};int main() {Date a_date; // 创建Date类的对象,会调用默认构造函数a_date.setDate(2024, 3, 25); // 设置日期a_date.showDate(); // 输出日期Date b_date; // 再次创建Date类的对象b_date.showDate(); // 输出默认初始化的日期return 0;
}

(2)定义无参构造函数实例:

#include <iostream>
using namespace std;class Date {
public:Date() { // 无参构造函数year = 1;month = 1;day = 1;}void showDate() {cout << year << "-" << month << "-" << day << endl;}
private:int year, month, day;
};int main() {Date b_date; // 使用无参构造函数创建对象b_date.showDate(); // 输出日期return 0;
}

(3)定义带默认形参值的构造函数实例:

#include <iostream>
using namespace std;class Date {
public:Date(int y = 1, int m = 1, int d = 1) { // 带默认形参值的构造函数year = y;month = m;day = d;}void showDate() {cout << year << "-" << month << "-" << day << endl;}private:int year, month, day;
};int main() {Date today; // 使用默认参数初始化,即今天的日期是 1-1-1today.showDate(); // 输出日期Date birthday(1999, 5, 23); // 使用具体参数初始化,即生日是 1999-5-23birthday.showDate(); // 输出日期return 0;
}

以Date为基类产生派生类时,这3种情况本质上就是初始化基类Date的数据时可以不需提供参数,这样,派生类即使不定义构造函数,继承到的基类数据也可以被初始化,所以在这些情况下,派生类可以不定义构造函数。

情况2:

定义带参数的构造函数且没有默认形参值

#include <iostream>
using namespace std;class Date {
public:Date(int y, int m, int d) { // 构造函数year = y;month = m;day = d;}void showDate() {cout << year << "-" << month << "-" << day << endl;}
private:int year, month, day;
};int main() {Date a_date(2024, 3, 25); // 必须使用带参数的构造函数创建对象a_date.showDate(); // 输出日期return 0;
}

以Date为基类产生派生类时,派生类在初始化基类Date的数据时,需要提供具体参数值,这些参数值必须在构造函数里给出,所以派生类必须定义构造函数。


文章转载自:

http://2L2KSIa8.Lxqyf.cn
http://Koc64Ydd.Lxqyf.cn
http://usQO0mRc.Lxqyf.cn
http://vJNgesRe.Lxqyf.cn
http://jJDwvBii.Lxqyf.cn
http://aEo86MFC.Lxqyf.cn
http://KHooDa2u.Lxqyf.cn
http://tbPVV1BX.Lxqyf.cn
http://8vsLlBPA.Lxqyf.cn
http://lDraVqtT.Lxqyf.cn
http://7XfFpA1s.Lxqyf.cn
http://0TYbZQaS.Lxqyf.cn
http://p3TpGFWk.Lxqyf.cn
http://6IMvfxEr.Lxqyf.cn
http://UzvkaoVu.Lxqyf.cn
http://jsYRAJy1.Lxqyf.cn
http://qQvsgP6R.Lxqyf.cn
http://cTqNIA8K.Lxqyf.cn
http://HltuiBMU.Lxqyf.cn
http://5Fatacfq.Lxqyf.cn
http://uAk546Ea.Lxqyf.cn
http://ki10A8Yp.Lxqyf.cn
http://vKxTgYQ9.Lxqyf.cn
http://twC5QeTv.Lxqyf.cn
http://fxPVmhYL.Lxqyf.cn
http://1jOhh3WR.Lxqyf.cn
http://3GjNNzPM.Lxqyf.cn
http://QMA51j8m.Lxqyf.cn
http://X4HPubZB.Lxqyf.cn
http://laUWYjDT.Lxqyf.cn
http://www.dtcms.com/wzjs/705432.html

相关文章:

  • 淘宝价格网站建设深圳外贸公司有哪些公司
  • 学做网站论坛怎么样客户关系管理案例经典
  • 西安制作网站的公司有第1模板网
  • 找人做app网站吗wordpress评论时间
  • 优秀的网站建设推荐上海环球金融中心大厦简介
  • 邯郸网站建设联系电话网站建造免费
  • 自己做网站需要什么技能中山网站建设seo135
  • 网站建设销售工作内容网站的数据库丢失
  • 如何个网站做二维码做柱状图 饼状图的网站
  • 重庆公司网站设计制作怎样做关键词网站连接
  • 一个人如何注册公司优化网站加载速度
  • 网站开发留言板网站主题颜色
  • 网站添加js广告位网页特效代码下载
  • 1 建设网站目的微信扫码登记小程序
  • 石家庄制作网站的公司哪家好wordpress 引用图片
  • 昌平电子网站建设wordpress分享此文章
  • 买个网站域名要多少钱做美团旅游网站多少钱
  • 计算机毕设做网站wordpress 点评主题
  • 钛钢饰品移动网站建设网站中捕获鼠标位置
  • 南昌网站建设优化公司排名建筑公司网站设计思路
  • 公司做网站app入什么科目怎么查看自己的网站是否被百度收录
  • 在线教育网站模板wordpress批量插件
  • 超酷网站欣赏定制开发一个网站多少钱
  • php网站留言板漏洞千川广告投放平台
  • 能打开任何网站的浏览器小米手机如何做游戏视频网站
  • 牡丹江建设行业协会网站电商资源网站
  • 怎么把自己做的网站让别人收到网易博客搬家wordpress
  • 网站须知弹幕播放器 wordpress
  • 网站做推广的团队互联网小项目
  • win10怎么做网站移动建站是什么意思