构造函数、析构函数
// Employee.cpp : Defines the entry point for the console application.
//
//
#include "stdafx.h"
#include <string.h>
#include <iostream.h>
class Employee //定义员工类Employee
{
private:
char EmployeeID[20]; //定义私有成员变量EmployeeID,表示员工编号
char EmployeeName[50]; //定义私有成员变量EmployeeName,表示员工姓名
char sex; //定义私有成员变量sex,表示员工性别
public:
Employee(); //定义构造函数
Employee(char id[20],char name[50],char xb); //重载构造构造函数,用于初始化数据成员
void display(); //定义成员函数,用于显示数据
~Employee() //析构函数
{
cout<<"析构函数被调用!"<<endl;
}
};
Employee::Employee() //函数实现
{
cout<<"构造函数被调用!"<<endl;
strcpy(EmployeeID,"1001001");
strcpy(EmployeeName,"李峰");
sex='M';
}
Employee::Employee(char id[20],char name[50],char xb) //函数实现
{
cout<<"构造函数被重载调用!"<<endl;
strcpy(EmployeeID,id);
strcpy(EmployeeName,name);
sex=xb;
}
void Employee::display() //函数实现
{
cout<<"员工编号:"<<EmployeeID<<endl;
cout<<"员工姓名:"<<EmployeeName<<endl;
cout<<"员工性别:"<<sex<<endl;
}
void main()
{
Employee ep1;
ep1.display();
Employee ep2("1001002","张远",'F');
ep2.display();
Employee *ep3=new Employee("1001003","王五",'M');
ep3->display();
}
#include <string.h>
#include <iostream.h>
class Employee //定义员工类Employee
{
private:
char EmployeeID[20]; //定义私有成员变量EmployeeID,表示员工编号
char EmployeeName[50]; //定义私有成员变量EmployeeName,表示员工姓名
char sex; //定义私有成员变量sex,表示员工性别
public:
Employee(); //定义构造函数
Employee(char id[20],char name[50],char xb); //重载构造构造函数,用于初始化数据成员
void display(); //定义成员函数,用于显示数据
~Employee() //析构函数
{
cout<<"析构函数被调用!"<<endl;
}
};
Employee::Employee() //函数实现
{
cout<<"构造函数被调用!"<<endl;
strcpy(EmployeeID,"1001001");
strcpy(EmployeeName,"李峰");
sex='M';
}
Employee::Employee(char id[20],char name[50],char xb) //函数实现
{
cout<<"构造函数被重载调用!"<<endl;
strcpy(EmployeeID,id);
strcpy(EmployeeName,name);
sex=xb;
}
void Employee::display() //函数实现
{
cout<<"员工编号:"<<EmployeeID<<endl;
cout<<"员工姓名:"<<EmployeeName<<endl;
cout<<"员工性别:"<<sex<<endl;
}
void main()
{
Employee ep1;
ep1.display();
Employee ep2("1001002","张远",'F');
ep2.display();
Employee *ep3=new Employee("1001003","王五",'M');
ep3->display();
}
构造函数 初始化对象,程序关闭时析构函数释放对象资源。
但是用new 手动申请的显示指针内存空间,只能手动用 delete ep3才能显示调用析构函数释放资源
转载于:https://blog.51cto.com/laowang/845897