构造函数的重载的判断条件是:参数的个数或者类型不同,其他要保持一样

举例说明:

方式一:在类中声明重载构造函数,在类外定义

//第一种方法:
#include<iostream>
using namespace std;
class Date{
public:
Date(); //声明一个无参数的构造函数
Date(int y,int m,int d);//声明一个带有三个参数的构造函数
void showDate();
private:
int year;
int month;
int day;
};
Date::Date() //定义一个无参数的构造函数,进行初始化
{
year = ;
month = ;
day = ;
}
Date::Date(int y,int m,int d)//定义一个带有三个参数的构造函数,进行初始化
{
year = y;
month = m;
day = d;
}
inline void Date::showDate() //定义一个显示内联函数
{
cout<<year<<","<<month<<","<<day<<endl;
}
int main()
{
Date date1; //定义Date的对象date1,并调用无参数的构造函数
cout<<"Date1 output:"<<endl;
date1.showDate(); //调用showDate()方法,显示date1的数据
Date date2(,,);//定义Date的对象date2,并调用有三个参数的构造函数
cout<<"Date2 output:"<<endl;
date2.showDate();//调用showDate()方法,显示date2的数据
return ;
}

方式二:直接在类中定义重载构造函数

//第二种方法:
#include<iostream>
using namespace std;
class Date{
public:
Date() //声明并定义一个无参数的构造函数
{
year = ;
month = ;
day = ;
}
Date(int y,int m,int d)//声明并定义一个带有三个参数的构造函数
{
year = y;
month = m;
day = d;
}
void showDate() //声明并定义一个showDate的普通成员函数
{
cout<<year<<","<<month<<","<<day<<endl;
}
private:
int year;
int month;
int day;
};
int main()
{
Date date1; //定义Date的对象date1,并调用无参数的构造函数
cout<<"Date1 output:"<<endl;
date1.showDate(); //调用showDate()方法,显示date1的数据
Date date2(,,);//定义Date的对象date2,并调用有三个参数的构造函数
cout<<"Date2 output:"<<endl;
date2.showDate();//调用showDate()方法,显示date2的数据
return ;
}
//注意:使用无参构造函数创建对象时,应该用语句"Date date1",而不能用语句"Date date1()"
// 因为语句"Date date1()":表明一个名为date1的普通函数,此函数的返回值为Date类型

C++:构造函数的重载的更多相关文章

  1. C++中复制构造函数与重载赋值操作符总结

    前言 这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容: 1.复制构造函数和重载赋值操作符的定义: 2.复制构造函数和重载赋值操作符的调用时机: 3.复制构造函数和重载赋值操作符 ...

  2. C++中复制构造函数与重载赋值操作符

    我们都知道,在C++中建立一个类,这个类中肯定会包括构造函数.析构函数.复制构造函数和重载赋值操作:即使在你没有明确定义的情况下,编译器也会给你生成这样的四个函数.例如以下类:   class CTe ...

  3. PHP构造函数的重载

    由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型,字符串之类的标量类型上),并且对于一个函数,比如只定义了3个输入参数,PHP却运行调用的时候输入 ...

  4. 牛客网Java刷题知识点之构造函数是什么、一般函数和构造函数什么区别呢、构造函数的重载、构造函数的内存图解

    不多说,直接上干货! 构造函数是什么? 构建创造对象时调用的函数. 构造函数是一种特殊的函数,用来在对象实例化时初始化对象的成员变量. 注意: 创建对象都必须要通过构造函数初始化. 构造函数的特点   ...

  5. C++构造函数和重载函数运算符如何区分

    构造函数和重载函数运算符如何区分: class Distance { private: int feet; int inches; public: Distance(){ feet = ; inche ...

  6. Scala 中 构造函数,重载函数的执行顺序

    在调试scala在线开发教程(http://www.imobilebbs.com/wordpress/archives/4911)的过程中看到了以下代码,但是这段代码无论怎么调试都无法成功. abst ...

  7. Java中的构造函数和重载

    一.Java中的构造函数 构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字.构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身.构造函数定义后,创 ...

  8. C++结构体:默认构造函数,复制构造函数,重载=运算符

    C++结构体提供了比C结构体更多的功能,如默认构造函数,复制构造函数,运算符重载,这些功能使得结构体对象能够方便的传值. 比如,我定义一个简单的结构体,然后将其作为vector元素类型,要使用的话,就 ...

  9. C++拷贝构造函数与 = 重载

    调用拷贝构造函数进行初始化的时候,是不会调用=重载的. // test.cpp : 定义控制台应用程序的入口点. // //#include "stdafx.h" #include ...

随机推荐

  1. 自己实现的库函数1(strlen,strcpy,strcmp,strcat)

    为了便于理解和使用库函数,先把自己实现的几个函数以及测试函数呈现如下. //求字符串长度的函数int my_strlen(const char* pStr){ assert(pStr != NULL) ...

  2. git,repo学习

    Repo:就是一组git命令的集合,repo init 下载一个分支. repo start 文件名 --all本地传建的另一个代码分支,用于备份作用. 比如:repo start zhao --al ...

  3. iOS/Objective-C开发 字典NSDictionary的深复制(使用category)

    目标:把NSDictionary对象转换成NSMutableDictionary对象,对象内容是字符串数组,需要实现完全复制(深复制). 如果调用NSDictionary的mutableCopy方法, ...

  4. c#之反射总结

     1.了解什么事程序集 2.加载程序集 首先要加载需要加载的程序集,然后找到指定的类型,进而往下进行动态加载. 要加载的程序集中的内容: public class Class1:Person { pr ...

  5. Qt Script

    旧项目运行在Qt4.x上,要加上一个脚本逻辑,只能上Qt Script.(建议新项目使用QJSEngine) QT += script #include <QtScript> int cp ...

  6. DB天气app冲刺二阶段第四天

    今天就进度来说没有丝毫进度..考虑直接把数据库文件弄到代码里.因为每次挑选城市的时候都有时会出bug ,所以我想明天试一下看看是不是这个的问题,虽然工程量有点大,但是应该不困难,所以明天试一下需要. ...

  7. C与C++存储空间布局

    每个程序一启动都有一个大小为4GB的内存,这个内存叫虚拟内存,是概念上的,真正能用到的,只是很小一部分,一般也就是在几百K到几百M.我们PC中内存,我们称之为物理内存,也就是256M,512M等,虚拟 ...

  8. 【转载】Hadoop历史服务器详解

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:过往记忆(http://www.iteblog.com/)     原文地址: ...

  9. HTML5网页制作教程:HTML5块级链接

    网页制作Webjx文章简介:Web 标准中处处充满了打脸行为,这条规则现在已经失效了!在那篇文章发布一个月后,HTML5doctor 发表了 “Block-level” links in HTML5, ...

  10. 集合上的动态规划---最优配对问题(推荐:*****) // uva 10911

    /* 提醒推荐:五星 刘汝佳<算法竞赛入门经典>,集合上的动态规划---最优配对问题 题意:空间里有n个点P0,P1,...,Pn-1,你的任务是把它们配成n/2对(n是偶数),使得每个点 ...