c++类的构造函数
时间:2019-09-13
本文章向大家介绍c++类的构造函数,主要包括c++类的构造函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
类的构造函数
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。
构造函数可用于为某些成员变量设置初始值。
下面为实例:
1 #include<iostream> 2 using namespace std; 3 class Line 4 { 5 public: 6 void setLength(double len); 7 double getLength(void); 8 Line();//为构造函数 9 10 private: 11 double length; 12 }; 13 14 //成员函数定义,包括构造函数 15 Line::Line(void) 16 { 17 cout << "Object is being created" << endl; 18 } 19 void Line::setLength(double len) 20 { 21 length = len; 22 } 23 double Line::getLength(void) 24 { 25 return length; 26 } 27 28 //程序主函数 29 int main() 30 { 31 Line line; 32 //设置长度 33 line.setLength(6.0); 34 cout << "Length of line:" << line.getLength() << endl; 35 system("pause"); 36 return 0; 37 38 }
上述代码运行结果:
带参数的构造函数
默认的构造函数没有任何参数,但如果需要,构造函数也可以带有参数。这样在创建对象时就会给对象赋初始值,如下面的例子所示:
1 #include <iostream> 2 3 using namespace std; 4 5 class Line 6 { 7 public: 8 void setLength( double len ); 9 double getLength( void ); 10 Line(double len); // 这是构造函数 11 12 private: 13 double length; 14 }; 15 16 // 成员函数定义,包括构造函数 17 Line::Line( double len) 18 { 19 cout << "Object is being created, length = " << len << endl; 20 length = len; 21 } 22 23 void Line::setLength( double len ) 24 { 25 length = len; 26 } 27 28 double Line::getLength( void ) 29 { 30 return length; 31 } 32 // 程序的主函数 33 int main( ) 34 { 35 Line line(10.0); 36 37 // 获取默认设置的长度 38 cout << "Length of line : " << line.getLength() <<endl; 39 // 再次设置长度 40 line.setLength(6.0); 41 cout << "Length of line : " << line.getLength() <<endl; 42 43 return 0; 44 }
上述代码运行结果如下所示:
使用初始化列表来初始化字段
使用初始化列表来初始化字段:
Line::Line( double len): length(len) { cout << "Object is being created, length = " << len << endl; }
也可写为:
Line::Line( double len) { cout << "Object is being created, length = " << len << endl; length = len; }
假设有一个类 C,具有多个字段 X、Y、Z 等需要进行初始化,同理地,您可以使用上面的语法,只需要在不同的字段使用逗号进行分隔,如下所示:
C::C( double a, double b, double c): X(a), Y(b), Z(c) { .... }
原文地址:https://www.cnblogs.com/Zzzzxy/p/11516478.html
- 使用 WMI 进行诊断WCF
- java:快速文件分割及合并
- 暴涨210倍的一个数字货币正悄无声息崛起
- QT Creator 快速入门教程 读书笔记(一)
- .NET程序优化(GCServer )
- redis 学习笔记(4)-HA高可用方案Sentinel配置
- oracle: job使用
- velocity模板引擎学习(2)-velocity tools 2.0
- java:如何用代码控制H2 Database启动
- 游戏开发完整学习路线(各个版本都有)
- spring mvc4:异常处理
- TCP/IP, WebSocket 和 MQTT
- struts2: 玩转 rest-plugin
- 设置系统环境变量立即生效的VBS脚本
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JavaScript:ECMAScript 2020中的新增功能
- Android编程实现播放视频的方法示例
- Android开发之RadioGroup的简单使用与监听示例
- Android 根据手势顶部View自动展示与隐藏效果
- Vue 3 如何安装
- Android实现状态栏(statusbar)渐变效果的示例
- Linux中stat函数和stat命令使用详解
- Android Beam 文件传输失败分析与解决方法
- Android实现修改状态栏背景、字体和图标颜色的方法
- Android视频压缩的示例代码
- Android如何从实现到封装一个MVP详解
- Android利用爬虫实现模拟登录的实现实例
- Android实现移动小球和CircularReveal页面切换动画实例代码
- Android4.4+ 实现半透明状态栏(Translucent Bars)
- Android弹出dialog后无法捕捉back键的解决方法