C++:构造函数的重载
在一个类中可以定义多个构造函数,以便为对象提供不同的初始化的方法,供用户选用,这些构造函数具有相同的名字,而参数的个数或参数的类型不相同,这称为构造函数的重载。
#include<iostream>
using namespace std;class Person
{
public://下面两个都是构造函数,自动匹配Person();Person(int age_xing, string name_xing):age(age_xing),name(name_xing){}void display();
private:int age;string name;
};Person::Person()
{age = 27;name = "zhangsan";
}void Person::display()
{cout << "name:" << name << " age;" << age << "\n"<<endl;
}int main()
{Person person1; //不带参数的构造函数初始化person1.display();Person person2(30, "lisi"); //使用带参数的构造函数初始化person2.display();return 0;
}
- 默认构造函数:在建立对象时候不必给出实参的构造函数,称为默认构造函数,显然,无参构造函数属于默认构造函数,一个类只能有一个默认构造函数,如果用户未定义构造函数,则系统会自动提供一个默认构造函数,但它的函数体是空的,不起初始化作用,如果用户希望在创建对象的时候就能使数据成员有初值,就必须自己定义构造函数。
- 一个类中可以包含多个构造函数,但是对于每个对象来说,建立对象只执行其中一个构造函数,并非每个构造函数都被执行。
C++:构造函数的重载相关推荐
- java构造函数的重载_java初学者对构造方法和重载的理解
一:构造函数(方法) 1.首先,在每个类的定义当中,都默认有一个无参数的构造方法(函数),不管你写没写 如 public Student(){ }; 2.构造方法的名字必须和类名一样,且不需什么 ...
- 【转】C++中如何区分构造函数与重载operator()得到的仿函数?
转自:C++中如何区分构造函数与重载operator()得到的仿函数?求大神!_360问答 此外,你觉得仿函数(functor)是否能完全取代function呢? 以下是个人使用C++仿函数,func ...
- 类的6个默认成员函数:构造函数、析构函数、拷贝构造函数、重载运算符、三/五法则
文章目录 6个默认成员函数 构造函数 概念 默认构造函数的类型 默认实参 概念 默认实参的使用 默认实参声明 全局变量作为默认实参 某些类不能依赖于编译器合成的默认构造函数 第一个原因 第二个原因 第 ...
- [转载] JAVA 构造函数及其重载
参考链接: Java重载Overload public class Student{ public int stuId; public String stuName; public int stuAg ...
- 一个程序让你学会C++构造函数与重载构造、析构函数【C++类的经典使用案例】
文章目录 一.构造函数的用法 二.构造函数的重载 三.析构函数 一.构造函数的用法 #include <iostream> using namespace std;//声明Time类 cl ...
- C++中复制构造函数与重载赋值操作符
我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数.析构函数.复制构造函数和重载赋值操作:即使在你没有明确定义的情况下,编译器也会给你生成这样的四个函数.例如以下类: class C ...
- 关于python构造函数的重载
python的构造函数不能重载,不能重载,不能重载 #-*-coding:UTF-8 class MyCalss(object):i = 123def __init__(self,name):prin ...
- JavaScript构造函数的重载
我们知道,像java和C++构造函数可以重载,但是JavaScript中是否可以呢? 结论是不可以,但是可也以做到同样的效果 1.同时定义有参和无参构造 function Person(name) { ...
- C++ 拷贝构造函数和重载赋值运算符的区别
文章目录 拷贝构造函数 重载赋值运算符 赋值运算符和拷贝构造函数最大区别是赋值运算符没有新的对象生成,而拷贝构造函数会生成新的对象. 为了更加形象 准确得描述 赋值运算符和拷贝构造函数得区别,将详细通 ...
最新文章
- 008_Gson从序列化中排除字段
- 将FORMSTYLE类型由FSNORMAL变为FSMDICHILD时,窗体的VISIBLE自动设为TRUE.且create之后,自动运行onshow事件。
- 健康管理-健康的概念和健康管理目标特点
- (85)Vivado 多周期路径约束情况
- 编写一个Applet在屏幕上画椭圆,椭圆的大小和位置由鼠标决定
- python画决策树
- 内核初始化-从start_kernel到init
- 数学家刘徽李善兰陈景润华罗庚
- CorelDRAW最好用免费稳定版本win,mac版本做图设计使用技巧教程
- 智能车浅谈——硬件篇
- linux去除文件中重复行,Linux Shell教程 - 如何删除重复的文本行
- 热电阻PT100转4-20mA温度信号转换器,变送分配器
- Jtapi开发之转接二 传递uui
- 论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示
- iOS 数据库-SQLite3 CoreData FMDB
- PPT转换成PDF后文档的背景色没有了怎么办?
- linux 正点原子ov5640_【正点原子FPGA连载】第二十四章OV5640摄像头HDMI显示-摘自【正点原子】领航者 ZYNQ 之嵌入式开发指南 (amobbs.com 阿莫电子论坛)...
- java初级程序员考试真题_一份Java基础知识笔试题附答案
- OWC 绘制3D柱状图
- 2019 面试准备 - 图片