构造函数的分类

#include<iostream>

using namespace std;

class Date

{

public:

void hh(int year, int month, int day)

{

_year = year;

_month = month;

_day = day;

}

void Display()

{

cout << "year" << _year << endl;

cout << "month" << _month << endl;

cout << "day" << _day << endl;

}

Date(int year, int month, int day)

{

cout << "Date:带参数的构造函数" << endl;

_year = year;

_month = month;

_day = day;

}

Date(int year )

{

cout << "Date:带缺省值构造函数" << endl;

_year =2015 ;

_month = 8;

_day = 17;

}

Date()

{

cout << "无参构造函数" << endl;

_year = 2013;

_month = 8;

_day = 17;

}

private:

int _year;

int _month;

int _day;

};

int main()

{

//Date p1(2015, 8, 17);

//p1.Display();

//Date p2(2015);

//p2.Display();

Date p3;

p3.Display();

时间: 2024-10-29 19:10:20

构造函数的分类的相关文章

构造函数的分类及调用(2)

两种分类方式: 1.按参数分为:有参构造和无参构造(默认构造) 2.按类型分为:普通构造和拷贝构造 三种调用方式: 1.括号法 2.显示法 3.隐式转换法 匿名对象的特点:特点:当前行执行结束后,系统会立即回收掉匿名对象 1 #include <iostream> 2 using namespace std; 3 4 class Person 5 { 6 public: 7 //构造函数 8 Person() 9 { 10 cout << "Person默认构造函数的调用

构造函数的分类及调用

构造函数可以使用两种方式进行分类: 按参数分为:无参构造和有参构造 按类型分为:普通构造和拷贝构造 class Person { public: //无参构造(也可称为默认构造) Person() { cout << "Person的无参构造" << endl; } //有参构造 Person(int a) { age = a; cout << "Person的有参构造" << endl; } //拷贝构造函数 Per

《解析C#类中的构造函数》

一.  C#中的构造函数概述: C#中类包含数据成员和函数成员.函数成员提供了操作类中数据的某些功能,包括方法.属性.构造器和终结器.运算符和索引器. 1.   构造函数设计的定义: 构造器是允许将类型的实例初始化为良好状态的一种特殊方法. 2.    构造函数设计的作用: c#中创建一个引用类型的实例时,首先为实例的数据字段分配内存,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实例构造器来设置对象的初始化状态. 3.    对类没有定义任何共有的或受保护的构造器,导致该

类与对象

1.1 类和对象的关系   为什么要采用面向对象思想进行程序设计与开发 1.可以实现代码的复用 2.符合人思考的方式   类和对象的定义 1.类的定义:用class关键修饰的叫做类 2.对象的定义:类名定义的数据类型   类和对象之间关系 1.由对象归纳为类,是归纳对象共性的过程 2.在类的基础上,将状态和行为实体化为对象的过程为实例化   1.2 定义类   定义类的语法,类主要由成员变量和成员方法构成(暂不提构造函数) eg: publicclassStudent { //成员变量 intn

Swift学习(3面向对象)

swift面向对象 1. 在swift中,默认在同一个项目中(同一个命名空间下),所有的类都是共享的,不需要import 所有的属性 var 也可以直接访问到 2.在swift中,所有的类都默认有一个命名空间,就是项目名称 3. ()  -> alloc  init.  swift中对应一个init()构造函数,作用是给成员变量分配内存空间并初始化 4.构造函数的写法: 一:必选属性的构造方法 1.给自己的属性分配内存空间并设置初始值 2.调用父类的构造函数,给父类的属性分配雷村空间设置初始值

构造和析构的基础知识

前言 创建一个对象时,常常需要做某些初始化的工作,例如对数据成员赋值,注意,类的数据成员是不能在声明类时初始化的 为了解决这个问题,C++编译器提供了 构造函数 来处理对象的初始化.构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行. 2.构造函数的分类(三个) (1)无参构造函数       Test()       {                ;       } (2)带参数构造函数       Test(int a,int b)      

Chrome开发者工具之JavaScript内存分析

内存泄漏是指计算机可用内存的逐渐减少.当程序持续无法释放其使用的临时内存时就会发生.JavaScript的web应用也会经常遇到在原生应用程序中出现的内存相关的问题,如 泄漏和溢出,web应用也需要应对 垃圾回收停顿. 尽管JavaScript使用垃圾回收进行自动内存管理,但有效的(effective)内存管理依然很重要.在这篇文章中我们将探讨分析JavaScript web应用中的内存问题.在学习有关特性时请确保尝试一下相关案例以提高你对这些工具在实践中如何工作的认识.请阅读 内存 101(M

Chrome开发者工具不完全指南(四、性能进阶篇)

前言 Profiles面板功能的作用主要是监控网页中各种方法执行时间和内存的变化,简单来说它就是Timeline的数字化版本.它的功能选项卡不是很多(只有三个),操作起来比较前面的几块功能版本来说简单,但是里面的数据确很多,很杂,要弄懂它们需要花费一些时间.尤其是在内存快照中的各种庞杂的数据.在这篇博客中卤煮将继续给大家分享Chrome开发者工具的使用经验.如果你遇到不懂的地方或者有不对的地方,可以在评论中回复卤煮,文章最后卤煮会最后把秘籍交出来.下面要介绍的是Profiles.首先打开Prof

Chrome开发者工具之JavaScript内存分析(转)

尽管JavaScript使用垃圾回收进行自动内存管理,但有效的(effective)内存管理依然很重要.在这篇文章中我们将探讨分析JavaScript web应用中的内存问题.在学习有关特性时请确保尝试一下相关案例以提高你对这些工具在实践中如何工作的认识.请阅读内存 101(Memory 101)页面来帮助你熟悉这篇文章中用到的术语.注意:我们将要用到的某些特性目前仅对Chrome Canary版浏览器可用.我们推荐使用这个版本来获得最佳的工具,以分析你的应用程序的内存问题. 你需要思考的问题