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

常州转化率网站建设公司怎么样天津全包圆装修公司电话

常州转化率网站建设公司怎么样,天津全包圆装修公司电话,seo站长综合查询工具,娄底网站建设的话术提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录一、构造函数1.构造函数的形式2.构造函数的调用时机3.委托构造函数4.复制构造函数二、析构函数本文仅为个人笔记 视频链接#xff1a;https://www.bilibili.com/vid… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录一、构造函数1.构造函数的形式2.构造函数的调用时机3.委托构造函数4.复制构造函数二、析构函数本文仅为个人笔记 视频链接https://www.bilibili.com/video/BV1th41187DP/?spm_id_frompageDrivervd_source1036f2f56be734d1fd42a8e7e38bee4c 一、构造函数 构造函数在对象被创建时使用特定的值构造对象将对象初始化为一个特定的初始状态。 1.构造函数的形式 函数名与类名相同不能定义返回值类型也不能有return语句可以有形式参数也可以没有可以是内联函数可以重载可以带默认参数值 2.构造函数的调用时机 在对象创建时被自动调用并且只要定义一个对象就一定会调用构造函数。 如果程序中没有定义构造函数则编译器会在需要的时候自动生成默认构造函数。 注意一旦自己实现构造函数则默认构造函数不会隐含生成此时如果依然希望编译器隐含生成默认构造函数可以使用“default”。 如下 //类定义 class Clock{ public:Clock(int newH, int newM, int newS); //构造函数Clock()default;//指示编译器提供默认构造函数void setTime(int newH, int newM, int newS);void showTime(); private:int hour,minute,second; };默认构造函数也即调用时可以不需要实参的构造函数其有两种 参数表为空的构造函数全部参数都有默认值的构造函数 但在一个类中两者不能同时出现肉则编译错误。 例子如下 可尝试单步执行跟踪 //类定义 class Clock{ public:Clock(int newH, int newM, int newS); //构造函数Clock();//默认构造函数void setTime(int newH, int newM, int newS);void showTime(); private:int hour,minute,second; }; //默认构造函数 Clock::Clock():hour(0),minute(0),second(0){} //构造函数的实现 Clock::Clock(int newH, int newM, int newS){hour newH;minute newM;second newS; } void Clock::setTime(int newH, int newM, int newS){hour newH;minute newM;second newS; } inline void Clock::showTime(){couthour:minute:secondendl; }int main(){Clock c(6,40,0);Clock c2;c.showTime();c2.showTime();return 0; } 3.委托构造函数 类中往往有多个构造函数只是参数表和初始化列表不同其初始化算法都是相同的这时为了避免代码重复可以使用委托构造丞数。 如下形式 Clock::Clock(int newH, int newM, int newS){hour newH;minute newM;second newS; } Clock::Clock():Clock(0,0,0){}//委托构造函数4.复制构造函数 复制构造函数是一种特殊的构造函数其形参为本类对象的引用。作用是用一个已存在的对象去初始化同类型的新对象。 我们经常会需要用一个已经存在的对象去初始化新的对象这时就需要一种特殊的构造函数——复制构造函数隐含生成的复制构造函数可以实现对应数据成员的一一复制自定应的复制构造函数可以实现特殊的复制功能 其形式如下 class 类名{ public:类名(形参); //构造函数类名(const 类名 对象名); //复制构造函数// ... }; 类名::类(const 类名对象名) //复制构造函数的实现 {函数体 } 复制构造函数被引用的三种情况 定义一个对象时以本类另一个对象作为初始值发生复制构造;如果函数的形参是类的对象调用函数时将使用实参对象初始化形参对象发生复制构造如果函数的返回值是类的对象函数执行完返回主调函数时将使用return语句中的对象初始化成一个临时无名对象传递给主调函数此时发生复制构造 class Point{ public:Point(int xx0,int yy0){xxx;yyy;}//构造函数、内联Point(const Pointp);//复制构造函数void setX(int xx){xxx;}void setY(int yy){yyy;}int getX() const {return x;}int getY() const {return y;} private:int x,y; }; //复制构造函数的实现 Point::Point(const Pointp){x p.x;y p.y;coutCalling the copy constructorendl; }//形参为Point类对象 void fun1(Point p){coutp.getX()endl; } //返回值为Point类对象 Point fun2(){Point a(1,2);return a; }int main(){Point a(4,5);Point b(a); //用a初始化bcoutb.getX()endl;fun1(b); //对象b作为fun1的形参b fun2();//函数的返回值为类对象由于编译器的优化功能此处可能不会调用复制构造函数coutb.getX()endl;return 0; }二、析构函数 完成对象被删除前的一些清理工作在对象的生存期结束的时刻系统自动调用它然后再释放此对象所属的空间如果程序未声明析构函数编译器会将自动生成一个默认的析构函数函数体为空 注析构函数不能有参数 class Point{ public:Point(int xx,int yy);~Point();//析构函数//其他函数原型 private:int x,y; }; Point::Point(int xx,int yy){x xx;y yy; } Point::~Point(){}
http://www.hkea.cn/news/14519041/

相关文章:

  • 定远县可以做网站的地方上海找做网站公司
  • 锦州网站建设推广锡山区企业网络推广
  • 直播网站开发方案ppt市场营销策略模板
  • 上海网站建设口碑最好的公司做网站公司上什么平台
  • photoshop设计一个精美的网站主页北京的网页设计
  • 怎么做seo网站推广谁做网站收录
  • 植物网站设计方案电子商务网站整体策划
  • 网址导航网站有哪些网站制作小图标
  • 做网站排名要懂那些我的南京网站
  • 品牌型网站的设计网页设计好学吗
  • 建网站的公司哪里好郑州电商运营培训
  • 求做外宣图网站asp.net 网站开发
  • 任务发布网站建设我的世界做壁纸网站
  • 国际化网站野花社区在线观看高清视频动漫
  • 新余做网站手机百度高级搜索
  • 百度创建网站吗个人网站备案所需材料
  • 营销型网站策划设计怎么查找网站是谁做的
  • 安县移动网站建设河南省工程造价信息网官网
  • 公司网站建设外包流程代备案域名30元
  • 外网常用网站我要自学网视频教程
  • 深圳商业网站建设哪家专业全面加强基层基础建设
  • 成都h5模板建站易语言做网站教程
  • 重庆今天刚刚发生的重大新闻seo推广价格
  • 自建网站避免侵权wordpress导出插件
  • 网站开发背景 目的北京企业网站模板建站怎么用
  • 淘宝客网站主题下载社交媒体营销案例
  • 百度竞价登陆化工seo顾问
  • 站长素材音效网wxqqcom微信网页版
  • 网站用后台更换图片wordpress 在文章前面加序号
  • 学校网站建设目的全网营销有哪些平台