构造/析构函数

上一篇 / 下一篇  2007-11-25 09:59:26 / 个人分类:c++

懒得写blog..编辑需要太多时间...

首先简单说一下  类成员的使用  ,非常简单...

public成员:直接用  对象.成员(函数)  使用即可..

protected成员:本类成员函数,继承类的成员函数,友元函数  都可以访问.

private成员:本类成员函数,友元函数可以访问..

以下全部...皆为 Visual Studio 2005 环境下.. 

构造/析构函数

构造函数: 初始化对象.  与类同名,  没有函数类型(没有返回值)

copy构造函数:  即 构造函数的 函数重载.

析构函数: ~类名 ,释放空间.

构造函数 与 析构函数的 调用顺序:

                         构造函数           析构函数

全局变量                  程序开始时         程序结束时

static静态局部变量         调用时            程序结束时

auto局部变量                                   调用时                            调用结束时

实例:

// 对象的使用.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class Mydate
{
public:
 Mydate(int num=1,int y=0,int m=0,int d=0);
 Mydate(Mydate &temp);
 ~Mydate();
 int getNum();
 int getYear();
 int getMonth();
 int getDay();
 void myPrint();
private:
 int num;
 int myYear;
 int myMonth;
 int myDay;
};
//构造函数
Mydate::Mydate(int n,int y,int m,int d):
myYear(y),myDay(d),myMonth(m)
{
 num=n;
 cout<<"Object "<<num<<" constructor"<<endl;
}
//拷贝构造函数, 别名定义temp,改变temp的传入参数的实参值
Mydate::Mydate(Mydate &temp)
{
 num=++temp.num;
 myYear=++temp.myYear;
 myMonth=++temp.myMonth;
 myDay=++temp.myDay;
}
//析构函数
Mydate::~Mydate()
{
 cout<<"Object "<<num<<" destructor"<<endl;
}
/////
int Mydate::getNum()
{
 return num;
}
////
int Mydate::getYear()
{
 return myYear;
}
/////
int Mydate::getMonth()
{
 return myMonth;
}
/////
int Mydate::getDay()
{
 return myDay;
}

//
void Mydate::myPrint()
{
 cout<<"Date"
  <<num<<":"
  << myYear<<"-"
  <<myMonth<<"-"
  <<myDay<<endl;
 return ;
}

void createObject()
{
 Mydate date4(4,2000,2,2);
 Mydate date5(5);
}
////////////
//MAIN()
static Mydate date(8);

int _tmain(int argc, _TCHAR* argv[])
{
 Mydate date1(1,2005,6,16);
 Mydate date2(2);
 createObject();
 static Mydate date3(3);
 getchar();
 return 0;
}


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar