懒得写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;
}