Date.h

#ifndef DATE_H
#define DATE_H class Date{
public:
Date(int d=,int m=,int y=);//自定义了构造方法 会覆盖掉默认的无参构造方法
void setDay(int d);
void print();
private:
int d;
int m;
int y; };
#endif

Date.cpp

#include "stdafx.h"
#include <iostream>
#include "Date.h"
using namespace std; Date::Date(int d, int m, int y){
cout<<"construactor me"<<endl;
this->d=d;//和java一样 这里也有this 有两种使用方式
(*this).m=m;
(*this).y=y;
} void Date::setDay(int d){
this->d=d;
} void Date::print(){
cout<<y<<"-"<<m<<"-"<<d<<endl;
}

Test.cpp

#include "stdafx.h"
#include "Date.h" int _tmain(int argc, _TCHAR* argv[])
{
//由于我没有显式的写出一个默认的构造方法
//而且我还自定义了一个自己的构造方法
//那么自己的构造方法会覆盖掉默认的构造方法的 Date d1;//显示constructor me
//虽然这里创建对象的时候没有写参数 但是并不是调用的默认无参构造方法
//因为我为我的构造方法设置了默认值 所以这里可以不给出
d1.print(); Date d2(,,);//调用自己的构造方法
d2.print();//1993-5-5
return ;
}

=========================================

Date.h

#ifndef DATE_H
#define DATE_H class Date{
public:
Date();
Date(int d,int m,int y);//自定义了构造方法 会覆盖掉默认的无参构造方法
void setDay(int d);
void print();
private:
int d;
int m;
int y;
};
#endif

Date.cpp

#include "stdafx.h"
#include <iostream>
#include "Date.h"
using namespace std; Date::Date(){
cout<<"constructor me"<<endl;
this->d=;
this->m=;
this->y=;
} Date::Date(int d, int m, int y){
cout<<"construactor me"<<endl;
this->d=d;//和java一样 这里也有this 有两种使用方式
(*this).m=m;
(*this).y=y;
} void Date::setDay(int d){
this->d=d;
} void Date::print(){
cout<<y<<"-"<<m<<"-"<<d<<endl;
}

Test

#include "stdafx.h"
#include "Date.h" int _tmain(int argc, _TCHAR* argv[])
{
//假如没有自定义自己的构造方法 Date d1就是调用系统默认的无参数构造方法
//再使用了自己的构造方法的情况下 还想调用无参数的构造方法 就只能再写一个无参数的构造方法
//当然了 这两个构造方法都是自己的方法
Date d1;//显示constructor me
d1.print();//0-0-0 Date d2(,,);//调用自己的有参构造方法
d2.print();//1993-5-5
return ;
}

C++ 面向对象学习2 构造方法的更多相关文章

  1. (转)Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  2. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  3. JavaScript之面向对象学习七(动态原型模式、寄生构造函数模式、稳妥构造函数模式创建自定义类型)

    一.动态原型模式 在面向对象学习六中的随笔中,了解到组合构造函数模式和原型模式创建的自定义类型可能最完善的!但是人无完人,代码亦是如此! 有其他oo语言经验的开发人员在看到独立的构造函数和原型时,很可 ...

  4. Python面向对象学习 1 (什么是面向对象,面向对象的应用场景,待更新)

    程序设计的三种基本结构: 面向对象,面向过程,函数式编程   1,什么是面向对象编程    面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就 ...

  5. Java面向对象学习目录

    Java面向对象学习目录 以下为面向对象学习目录,有待补充的部分,我还会再后续的学习过程中加以补充与修改~ 一.面向对象编程思想 二.Java类及类中成员 属性 方法 构造器 代码块 内部类 面向对象 ...

  6. 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用

    085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...

  7. 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字

    084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...

  8. 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法

    083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...

  9. 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法

    082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...

随机推荐

  1. java--jsp+ssh+select动态结合数据和选择(解)

    在三层体系结构和jsp合并项目,如何实现select动态绑定数据和动态选择指定的行?让我们来看看下面的: 1.首先定义一个Bean分类.它用于实例select的结合数据中的每一个id和name: pu ...

  2. GDI+ 填充背景时,非常多时候不起作用,GDI、GDI+配合运用

    在ONDRAW中运行GDI+ 填充背景时,不起作用,不知道什么原因 [cpp] view plaincopy Graphics graphics(pDC->GetSafeHdc()); Bitm ...

  3. 百度Map调用

    baiduMap API 根据地址查询经纬度 http://api.map.baidu.com/geocoder?address=要查询的地址&output=json&key=你的ke ...

  4. Excel表格中汉字转拼音

    一.使用“实用汉字转拼音V4.8” 软件 下载地址http://www.orsoon.com/soft/4413.html 或则百度 很多的 二.Excel自定义函数方法: 1.启动Excel 200 ...

  5. hive 使用脚本清洗数据:时间戳转日期

    import sys import datetime for line in sys.stdin: line = line.strip() userid, movieid, rating, unixt ...

  6. 在python文本编辑器里如何设置Tab为4个空格

    python中缩进一般为四个空格,我总结3种常用编辑器中种如何设置Tab键为四个空格 第一种:下载python3.5时自带de 一个IDLE编辑器 在Options选项下的Configure IDLE ...

  7. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  8. elk 数据存储

    让我们在集群中唯一一个空节点上创建一个叫做blogs的索引,默认情况下,一个索引被分配5个主分片, 但是为了演示的目的, 我们只分配3个主分片和一个复制分片(每个主分片都有一个复制分片): PUT / ...

  9. Android开发_SQLite使用方法技巧

    SQLite介绍 SQLite是轻量级的.嵌入式的.关系型数据库,目前已经在iPhone.Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠.SQLite嵌入到使用 ...

  10. Android TextView 实现文字大小不同和文字颜色不同

    效果图如下: 关键代码如下: StringBuffer sb = new StringBuffer(); if(day > 0) { sb.append("<a href=\&q ...