《vc++课件》类的构造和析构

类的构造和析构
类的构造和析构

主要内容 类的构造函数 ■类的析构函数 类的复制构造函数
主要内容 ◼ 类的构造函数 ◼ 类的析构函数 ◼ 类的复制构造函数

回顾 class account ubli void deposit(double amount) void withdraw(double amount void display rivate char charx pwd double balance double min balance
class Account { }; void deposit(double amount); void withdraw(double amount); void display(); char* id; char* pwd; double balance; public: private: double min_balance; 回顾

例:实现转帐,从帐户A1790153向帐户 A2190156转帐30000元。 # include“ Account. h void maino Account al a2 1. display a2 display al withdraw(30000) a2 deposit(30000) al display 2. display
例:实现转帐,从帐户A1790153向帐户 A2190156转帐30000元。 Account a1, a2; #include “Account.h” a1.withdraw(30000); a2.deposit(30000); a1.display(); a2.display(); a1.display(); a2.display(); void main() { }

士分析原因 由于对象a1和a2在定义时,并没有专门 的语句为帐户的余额 balance进行初始化, 因此程序运行时, balance中存放的内容 是不确定的 ■因此,类中应该有一类操作专门负责对 象的初始化,使得对象的使用更安全、 可靠 ■对象的初始化由类的构造函数完成
分析原因 ◼ 由于对象a1和a2在定义时,并没有专门 的语句为帐户的余额balance进行初始化, 因此程序运行时,balance中存放的内容 是不确定的 ◼ 因此,类中应该有一类操作专门负责对 象的初始化,使得对象的使用更安全、 可靠 ◼ 对象的初始化由类的构造函数完成

士构造画数 ■构造函数的功能是在定义对象时被编译 系统自动调用来创建对象并初始化对象。 ■其定义格式如下: 类名>:(参数表>) <函数体
◼ 构造函数的功能是在定义对象时被编译 系统自动调用来创建对象并初始化对象。 ◼ 其定义格式如下: 构造函数 ::() { }

对象的初始化 例:新开一个户,令卡上初始金额为最小余额。 Account: Account(char* aid, char* apwd, double bal) id= new char[strlen( aid)+1 strcpy(id, aid) pwd =new char[strlen(apwd)+l strcpy(pwd, apwd) min balance = 10: balance s bala
对象的初始化 例:新开一个户,令卡上初始金额为最小余额。 Account::Account(char* aid, char* apwd, double bal) { id = new char[strlen(aid)+1]; pwd = new char[strlen(apwd)+1]; strcpy(id,aid); strcpy(pwd,apwd); min_balance = 10; balance = bal; }

例:新开一个帐户 Account: Account id -new char 91 strcpy(id,A0000000") pwd=new char[7 strcpy(pwd, " 1111ID) balance =10 min balance =10 仔细观察两个完成初始化功能的函数
例:新开一个帐户 Account::Account() { id = new char[9]; pwd = new char[7]; strcpy(id, “A0000000”); strcpy(pwd, “111111”); balance = 10; min_balance = 10; } 仔细观察两个完成初始化功能的函数……

构造函数的特点 构造函数是成员函数,函数体可写在类体内,也可写 在类体外。 构造函数的函数名与类名相同,且不指定返回值类型, 它有隐含的返回值,该值由编译系统内部使用。 构造函数可以没有参数,也可以有参数,因此可以重 载,即可以定义参数不同的多个构造函数。 每个类都必须有一个构造函数。如果类中没有显式定 义构造函数,则编译系统自动生成一个缺省形式的构 造函数,作为该类的公有成员。 程序中不能直接调用构造函数,在定义对象时编译系 统自动调用构造函数
◼ 构造函数是成员函数,函数体可写在类体内,也可写 在类体外。 ◼ 构造函数的函数名与类名相同,且不指定返回值类型, 它有隐含的返回值,该值由编译系统内部使用。 ◼ 构造函数可以没有参数,也可以有参数,因此可以重 载,即可以定义参数不同的多个构造函数。 ◼ 每个类都必须有一个构造函数。如果类中没有显式定 义构造函数,则编译系统自动生成一个缺省形式的构 造函数,作为该类的公有成员。 ◼ 程序中不能直接调用构造函数,在定义对象时编译系 统自动调用构造函数。 构造函数的特点

练习:定义一个职员类 Employe构造函数 (假设有职员编号、姓名、年龄、地址等数据) Employee: Employee id =new char[10 name=new char[20 age= O address=new char[100]
练习:定义一个职员类Employee的构造函数 (假设有职员编号、姓名、年龄、地址等数据) Employee::Employee() { } id = new char[10]; name = new char[20]; age = 0; address = new char[100];
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《vc++课件》静态成员和友元.ppt
- 《C++程序设计实验指导书》(第四版)电子课件.doc
- 《MATLAB》课程教学讲稿(PPT电子课件)第四讲 matlab 绘图.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第六讲 matlab工具箱.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第五讲 matlab句柄绘图.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第二讲 MATLAB的数值计算.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第三讲 MATLAB的符号运算.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第七讲 matlab的程序设计.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第一讲 MATLAB语言概述.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第9章 MATLAB符号计算.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第8章 MATLAB数值积分与微分.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第7章 MATLAB解方程与函数极值.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第6章 MATLAB数据分析与多项式计算.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第5章 MATLAB绘图.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第4章 MATLAB文件操作.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第3章 MATLAB程序设计.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第1章 MATLAB操作基础.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第13章 在Word环境下使用MATLAB.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第12章 Simulink动态仿真集成环境.ppt
- 《MATLAB》课程教学讲稿(PPT电子课件)第11章 MATLAB图形用户界面设计.ppt
- 《vc++课件》虚函数和抽象类.ppt
- 《vc++课件》继承.ppt
- 《vc++课件》多继承和虚基类.ppt
- 《vc++课件》多态.ppt
- 《vc++课件》模板和IO流.ppt
- 《vc++课件》Windows编程基础.ppt
- 《vc++课件》单文档应用程序设计.ppt
- 《vc++课件》对话式应用程序设计.ppt
- 《vc++课件》c++基础1.ppt
- 《vc++课件》c++基础2.ppt
- 《vc++课件》类的设计和对象的使用.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第一章 C程序概述.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第二章 C程序设计基础.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第三章 程序的控制结构.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第四章 数组.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第五章 指针.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第六章 函数.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第七章 结构体与共用体.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第八章 文件访问.ppt
- 成都理工大学工程技术学院:《C程序设计教程》第九章 变量的作用域与生存期.ppt