构造函数、析构函数
構造函數、析構函數 // 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();
}
構造函數 初始化對象,程序關閉時析構函數釋放對象資源。 但是用new 手動申請的顯示指針內存空間,只能手動用 delete ep3才能顯示調用析構函數釋放資源
// #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();
}
構造函數 初始化對象,程序關閉時析構函數釋放對象資源。 但是用new 手動申請的顯示指針內存空間,只能手動用 delete ep3才能顯示調用析構函數釋放資源
轉載于:https://blog.51cto.com/laowang/845897
總結
- 上一篇: datatables 基本增删改查(ph
- 下一篇: 神经网络基本原理简明教程之非线性回归