C++ 面向对象学习2 构造方法
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 构造方法的更多相关文章
- (转)Python之路,Day6 - 面向对象学习
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...
- js面向对象学习 - 对象概念及创建对象
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...
- JavaScript之面向对象学习七(动态原型模式、寄生构造函数模式、稳妥构造函数模式创建自定义类型)
一.动态原型模式 在面向对象学习六中的随笔中,了解到组合构造函数模式和原型模式创建的自定义类型可能最完善的!但是人无完人,代码亦是如此! 有其他oo语言经验的开发人员在看到独立的构造函数和原型时,很可 ...
- Python面向对象学习 1 (什么是面向对象,面向对象的应用场景,待更新)
程序设计的三种基本结构: 面向对象,面向过程,函数式编程 1,什么是面向对象编程 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就 ...
- Java面向对象学习目录
Java面向对象学习目录 以下为面向对象学习目录,有待补充的部分,我还会再后续的学习过程中加以补充与修改~ 一.面向对象编程思想 二.Java类及类中成员 属性 方法 构造器 代码块 内部类 面向对象 ...
- 085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用
085 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 04 构造方法调用 本文知识点:构造方法调用 说明:因为时间紧张,本人写博客过程中只是 ...
- 084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字
084 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 03 构造方法-this关键字 本文知识点:构造方法-this关键字 说明:因为时间紧 ...
- 083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法
083 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 02 构造方法-带参构造方法 本文知识点:构造方法-带参构造方法 说明:因为时间紧张, ...
- 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法
082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...
随机推荐
- DLL导出函数和类 之 __declspec(dllexport)
可利用__declspec(dllexport)导出函数或类. 若要指定C类型约定导出,则需在前面加extern “C”. 若要导出函数,__declspec(dllexport) 关键字必须出现在调 ...
- 自学JavaScript的几个例子
学习了广泛使用的浏览器脚本JavaScript和HTML的DOM模型(也是用JavaScript实现),下面给出两个自己学习时的例子,具体JavaScript语法请参考W3C相关网页(http://w ...
- jquery validate.addMethod 正则表达式 (自定义验证方法)
项目中使用的jQuery添加的校验的方法 $(document).ready(function(){ 5 6/* 设置默认属性 */ 7$.vali ...
- 母版页中ContentPlaceHolder 控件的作用
文章转自 http://wenku.baidu.com/link?url=7sLN0ihgZQ1XfX47b_y8qbpIVjS5T75Q1xvaoyIQ6OiKIgvzyVyRccnU9e9fqo ...
- PDF417码制尺寸定义
PDF417码制尺寸定义 1.模块宽度(X)不得小于0.191mm,你们目前所用300dpi打印机点的尺寸是0.084 mm * 0.01 mm,可 三倍以上值 2.条 ...
- [转载]VMWare网络连接透析
http://blog.csdn.net/struggleyb/article/details/1102214 以前在学校,VMWare里面的Gentoo Linux是采用network bridge ...
- JDK源码学习--String篇(四) 终结篇
StringBuilder和StringBuffer 前面讲到String是不可变的,如果需要可变的字符串将如何使用和操作呢?JAVA提供了连个操作可变字符串的类,StringBuilder和Stri ...
- leetcode String to Integer (atoi) python
class Solution(object): def myAtoi(self, str): """ :type str: str :rtype: int "& ...
- ExtJS 4.2学习(一)——环境搭建
1.把JDK集成到myeclipse里: 虽然myeclipse自带了jdk,但我们还是配置自己的JDK1.7 window——>Proferences——>Java——>Compl ...
- Django Web开发【4】 用户注册与管理
几乎所有的网站都提供了用户注册与管理功能,这一节,我们将讲解如何利用Django自身提供的用户认证系统实现用户注册与管理功能. 会话认证 在上一节中,我们学习了User数据模型,并用它来保存用户信息, ...