类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。

// 例1.无参数的构造函数#include<iostream>
using namespace std;class Line
{
public:void setLength(double len);double getLength(void);Line();//构造函数,与类名完全相同,下面的函数定义时也不需要加void/int之类
private:double length;
};//成员函数定义,包括构造函数定义
Line::Line()
{cout << "对象已经创建成功" << endl;
}void Line::setLength(double len_lzb)   //这里的len_lzb是形参,和普通函数一样
{length = len_lzb;
}double Line::getLength()
{return length;
}int main()
{Line line;//创建一个实例//设置长度line.setLength(6.0);cout << "line的长度为:" << line.getLength() << endl;return 0;
}// 例2.带参数的构造函数#include<iostream>
using namespace std;class Line
{
public:void setLength(double len);double getLength(void);Line(double len);
private:double length;
};Line::Line(double len)
{cout << "这行为构造函数的输出:对象创建成功" << endl;length = len;
}//这里也可以使用初始化列表来初始化字段,如下
//length(len)就等价于在函数体内赋值操作:length=len
//是完全等价的,假如构造函数定义中还有width变量需要赋值操作
//Line::Line(double len, double wid):length(len),width(wid)
Line::Line(double len) : length(len)
{cout << "Object is being created, length = " << len << endl;//length = len;//这里就不用再赋值了
}void Line::setLength(double len)
{length = len;
}
double Line::getLength(void)
{return length;
}int main()
{Line line(10.0);cout << "刚实例化后line的长度为:" << line.getLength() << endl;line.setLength(6.0);cout << "对line长度赋值后的长度为:" << line.getLength() << endl;
}

C++:类的构造函数相关推荐

  1. c++, 派生类的构造函数和析构函数 , [ 以及operator=不能被继承 or Not的探讨]

    说明:文章中关于operator=实现的示例,从语法上是对的,但逻辑和习惯上都是错误的. 参见另一篇专门探究operator=的文章:<c++,operator=>http://www.c ...

  2. C++中基类与派生类的构造函数和析构函数

    1.Cpp中的基类与派生类的构造函数 基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承.构造函数不能被继承是有道理的,因为即使继承了,它的名字和 ...

  3. java反射类带构造函数_java中反射类的加载和构造函数

    我们先创建了一个Person类 package reflect; public class Person { public String name = "zhangsan"; pu ...

  4. C++类的构造函数不能为虚函数的原因

    1 C++类的对象构造的时候,首先申请一片内存,然后调用构造函数进行初始化: 我们知道,存在虚函数的话,也会存在一个虚函数表vtable,而虚函数表示在什么时候产生的呢,当然是在调用构造函数之后产生的 ...

  5. 定义派生类拷贝构造函数

    2019独角兽企业重金招聘Python工程师标准>>> 如果派生类定义了自己的拷贝构造函数,该拷贝构造函数一般应显式的使用基类的拷贝构造函数初始化对象的基类部分 class Base ...

  6. c++类的构造函数详解

    c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...

  7. C++对象模型4——多重继承的对象内存模型、vptr与vtbl的创建与重置的时机、不要在含有虚函数的类的构造函数中调用memset

    一.多重继承的对象内存模型 class Base1 { public:virtual void f() {cout << "base1::f()" << e ...

  8. 基类成员的public访问权限在派生类中变为_C++ 派生类的构造函数(学习笔记:第7章 06)...

    派生类的构造函数[1] 默认情况 基类的构造函数不被继承; 派生类需要定义自己的构造函数. C++11规定 可用using语句继承基类构造函数. 但是只能初始化从基类继承的成员. 派生类新增成员可以通 ...

  9. 类的构造函数和析构函数详解

    一:类的构造函数 1.构造函数定义 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行. 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void.构造函数可 ...

  10. 【C++ Primer 第15章】定义派生类拷贝构造函数、赋值运算符

    学习资料 • 派生类的赋值运算符/赋值构造函数也必须处理它的基类成员的赋值 • C++ 基类构造函数带参数的继承方式及派生类的初始化 定义拷贝构造函数 [注意]对派生类进行拷贝构造时,如果想让基类的成 ...

最新文章

  1. C# MBG 扩展方法类库 分享
  2. 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计
  3. LinkdedList
  4. Java Web之BaseServlet的抽取
  5. ldo regula_使用C中的Regula Falsi方法找到复多项式方程的根
  6. CentOS6.5下安装JDK
  7. 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
  8. 让系统自动登录的方法
  9. java热门框架_java今年最流行的3大框架
  10. qt设置开机启动动画_Qt实现程序启动动画
  11. jupyter 更改主题 换成黑色背景
  12. 选课系统源码html,高校选课系统 - WEB源码|源代码 - 源码中国
  13. 3.28leet28
  14. 计算机数据表示实验|汉字国标码转区位码实验
  15. Z-001 IVD体外诊断液面探测专题
  16. 多旋翼飞行器螺旋桨动力学模型
  17. 百度地图 行政区切换显示
  18. 西门子HMI设备与V20变频器如何实现通讯?
  19. 直接复制php代码制作app,一套免费无代码在线制作APP工具,将APP打包带走
  20. 计量经济学笔记2-Eviews操作

热门文章

  1. MiniDao支持ID自增主键策略,使用讲解
  2. UEditor 如何进行二次开发
  3. JAVA通过JCO连接SAP例子
  4. MediaCodec的使用和若干问题处理
  5. 总结深度学习各种网络结构【更新中...】
  6. Django(三)模板
  7. Redux 进阶 - react 全家桶学习笔记(二)
  8. Unity3D开发基础组件提取总结
  9. Ext3.2 beta版已发布
  10. 磁盘文件的正常读写与异步读写