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

举例说明:

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

//第一种方法:
#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. KMP算法的理解

    ---恢复内容开始--- 在看数据结构的串的讲解的时候,讲到了KMP算法——一个经典的字符串匹配的算法,具体背景自行百度之,是一个很牛的图灵奖得主和他的学生提出的. 一开始看算法的时候很困惑,但是算法 ...

  2. Word 使用技巧

    文档的写作,例来分为latex与word两大阵营.一个是论文界的宠儿,一个是平民的所见即所得.看起来好像前者更加牛一些. 本来我也是觉得latex比word好.但是使用latex时苦于找不到一个好的编 ...

  3. c++继承详解

    C++中的三种继承public,protected,private 三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员 ...

  4. Java集合的小抄

    在尽可能短的篇幅里,将所有集合与并发集合的特征.实现方式.性能捋一遍.适合所有"精通Java",其实还不那么自信的人阅读. [转自:花钱的年华] 期望能不止用于面试时,平时选择数据 ...

  5. spring多数据源配置

    项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和hibernate的框架的 ...

  6. 基于UUID生成短ID

    为什么需要短ID 数据库操作过程最常用到: 自增ID UUID 前者多数依赖Mysql的auto_increment,但数据移植麻烦. 如果是主从或主主,不同库里自增ID还可能不一致. 后者长度是个问 ...

  7. 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建

    003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...

  8. LR(0)语法分析

    # include <stdio.h> # include <string.h> //存储LR(0)分析表 struct node { char ch; int num; }; ...

  9. ASP.NET Web – AJAX 回送

    使用UpdatePanel时要一起使用的控件是ScriptManager.ScriptManager类加载了包含几个功能的JavaScript函数.也可以使用这个类加载自己定制脚本.ScriptMan ...

  10. CentOS-6.5安装配置JDK-7和JDK-8

    安装说明 系统环境:centos-6.5 软件:jdk-7-linux-x64.rpm , jdk-8u5-linux-i586.tar.gz  下载地址:http://www.oracle.com/ ...