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

高清图片素材网站免费百度快照手机版

高清图片素材网站免费,百度快照手机版,长春做网站搜吉网传媒,网站推广在哪好外贸在本文中#xff0c;您将学习C 中的构造函数。您将学习什么是构造函数#xff0c;如何创建它以及C 中的构造函数类型。 构造函数是成员函数的一种特殊类型#xff0c;它在创建对象时会自动对其进行初始化。编译器通过其名称和返回类型将给定的成员函数标识为构造函数。构造函…        在本文中您将学习C 中的构造函数。您将学习什么是构造函数如何创建它以及C 中的构造函数类型。 构造函数是成员函数的一种特殊类型它在创建对象时会自动对其进行初始化。编译器通过其名称和返回类型将给定的成员函数标识为构造函数。构造函数与该类具有相同的名称并且没有任何返回类型。同样构造函数始终是公共的。 ... .. ... class temporary { private: int x;float y; public:// 构造函数temporary(): x(5), y(5.5){// 构造函数体}... .. ... };int main() {Temporary t1;... .. ... } 上面的程序显示了定义的构造函数没有返回类型并且名称与类相同。 构造函数如何工作 在上面的代码中temporary()是一个构造函数。创建类的对象时将自动调用构造函数temporary并将x初始化为5然后y初始化为5.5。您还可以按以下方式初始化构造函数体内的数据成员。但是这种不推荐使用此方法。 temporary() {x  5;y  5.5; } // 这种方法不是首选的。 在C 中使用构造函数 假设您正在处理100个Person对象并且数据成员age的默认值为0。手动初始化所有对象将是一项非常繁琐的任务。 相反您可以定义一个初始化age为0 的构造函数。然后您要做的就是创建一个Person对象构造函数将自动初始化age。这些情况在处理对象数组时经常出现。另外如果要在创建对象后立即执行一些代码可以将代码放在构造函数的主体内。 示例1C 中的构造方法 计算并显示矩形的面积。 #include iostream using namespace std;class Area {private:int length;int breadth;public:// 构造函数Area() : length(5), breadth(2) { }void GetLength(){cout 分别输入长度和宽度: ;cin length breadth;}int AreaCalculation() { return (length * breadth); }void DisplayArea(int temp){cout 面积: temp;} };int main() {Area A1, A2;int temp;A1.GetLength();temp A1.AreaCalculation();A1.DisplayArea(temp);cout endl 不从用户那里获取值时的默认面积为: endl;temp A2.AreaCalculation();A2.DisplayArea(temp);return 0; } 输出结果  在这个程序中创建类Area来处理面积相关的函数。它有两个数据成员length和breadth。定义了一个初始化length为5和breadth为2的构造函数。我们还具有三个附加的成员函数GetLength(), AreaCalculation() 和 DisplayArea()分别从用户处获取长度计算面积以及显示面积。 当创建对象A1和A2时由于构造函数的关系这两个对象的长度(length)和(breadth)宽度分别初始化为5和2。 然后调用成员函数GetLength()该函数从用户那里获取对象A1的长度(length)和(breadth)宽度值。 这改变了对象A1的长度(length)和(breadth)宽度。 然后通过调用AreaCalculation()函数计算对象A1的面积并将其存储在变量temp中最后显示出来。 对于对象A2不要求用户提供任何数据。 因此长度(length)和(breadth)宽度分别保持5和2。然后计算并显示A2的面积为10。 构造函数重载 构造函数也可以类似于函数重载的方式重载。重载的构造函数具有相同的名称类的名称但参数个数不同。根据传递的参数的个数和类型将调用特定的构造函数。由于存在多个构造函数因此在创建对象时也应传递构造函数的参数。 示例2构造函数重载 // 源代码演示重载的构造函数的工作原理 #include iostream using namespace std;class Area { private:int length;int breadth;public:// 无参数构造函数Area() : length(5), breadth(2) { }// 有两个参数的构造函数Area(int l, int b) : length(l), breadth(b) { }void GetLength(){cout 分别输入长度和宽度 ;cin length breadth;}int AreaCalculation() { return length * breadth; }void DisplayArea(int temp){cout 面积: temp endl;} };int main() {Area A1, A2(2, 1);int temp;cout 没有传递参数时的默认面积。 endl;temp A1.AreaCalculation();A1.DisplayArea(temp);cout 2,1作为参数传递时的面积。 endl;temp A2.AreaCalculation();A2.DisplayArea(temp);return 0; } 输出结果 对于对象A1创建对象时不传递任何参数。因此将调用不带参数的构造函数该构造函数将长度(length)初始化为5宽度(breadth)初始化为2。因此对象A1的面积将为10。 对于对象A2在创建对象时将2和1作为参数传递。因此将调用具有两个参数的构造函数该构造函数将长度(length)初始化为l在这种情况下为2并将宽度(breadth)初始化为b在这种情况下为1。 因此对象A2的面积将为2。 默认拷贝构造函数 一个对象可以用另一个相同类型的对象初始化。这与将一个类的内容复制到另一个类是一样的。在上面的程序中如果你想初始化一个对象A3使它包含与A2相同的值可以这样执行: .... int main() {Area A1, A2(2, 1);// 将A2的内容复制到A3Area A3(A2);OR, Area A3  A2; } 您可能会想您需要创建一个新的构造函数来执行这个任务。但是不需要额外的构造函数。这是因为默认情况下复制构造函数已经内置到所有类中。 验证代码如下 // 源代码演示重载的构造函数的工作原理 #include iostream using namespace std;class Area { private:int length;int breadth;public:// 无参数构造函数Area() : length(5), breadth(2) { }// 有两个参数的构造函数Area(int l, int b) : length(l), breadth(b) { }void GetLength(){cout 分别输入长度和宽度 ;cin length breadth;}int AreaCalculation() { return length * breadth; }void DisplayArea(int temp){cout 面积: temp endl;} };int main() {Area A1, A2(2, 1);int temp;cout 没有传递参数时的默认面积。 endl;temp A1.AreaCalculation();A1.DisplayArea(temp);cout A22,1作为参数传递时的面积。 endl;temp A2.AreaCalculation();A2.DisplayArea(temp);Area A3(A2); // 或者Area A3 A2;cout A32,1作为参数传递时的面积。 endl;temp A3.AreaCalculation();A3.DisplayArea(temp);return 0; } 输出结果
http://www.zqtcl.cn/news/428792/

相关文章:

  • 让网站快速收录初中毕业如何提升学历
  • 石家庄做网站价格seo优化效果
  • 为什么浏览器打开是2345网址导航seo免费资源大全
  • 网站工程是干啥的动态个人网页制作html教程
  • 阿里云多网站建设wordpress 统计分析
  • 长沙网站定制公司科技特长生
  • 查公司的口碑和评价的网站中学生怎么做网站
  • 做网站买空间多少钱深圳seo优化公司
  • 中国建设银行北京市互联网网站wordpress商城购物表单
  • 万网网站备案管理查询工程建设项目的网站
  • 网站建设国内外研究现状模板ppt设计大赛
  • 专业网站优化方案网站设计过程怎么写
  • 福州定制网站建设网站ip过万
  • wordpress网站评论插件厦门软件网站建设
  • 网站黄金比例wordpress转typecho
  • 重庆有哪些网络公司百度系优化
  • 无锡网站制作方案企业三合一建站公司怎么找
  • 钉钉crm客户管理系统免费seo网站推荐一下软件
  • wordpress公司网站模版怎么显示wordpress里元素的源代码
  • 泉州网站制作运营商专业wordpress评论软件
  • 网站开发是什么意思啊有没有帮人做简历的网站
  • 企业网站模板包含什么维度 网站建设
  • 个人备案做运营网站宁波建网站模板
  • 做网站需要懂什么软件合肥网站制作套餐
  • 中国建设银行官方网站纪念钞预约网上买手表哪个网站可以买到正品
  • 哪个网站做兼职可以赚钱浙江嘉兴最新事件
  • 苍南网站建设深圳百度关键字优化
  • 网站建设流程及规范是做网站设计好还是杂志美编好
  • 网站模板 登陆南昌做网站开发的公司有哪些
  • 移动网站建设是什么商丘哪里教做网站的