存在的问题 函数名可能与对其它结构进行操作的函数发生冲突 客户程序员易忘记调用 initialize0和 cleanup0 数据和对数据进行的操作分离,不符合现实世界中事物的 实际情况,也不符合人的思维习惯 数据完全对外暴露,无法保证对数据的访问的合法性、安 全性 °解决方法 把对数据进行操作的函数做成结构体的成员,以解决名字 冲突和数据与操作的分离问题 例:.修改后的银行帐户 修改后链表操作 ·将结构体改换为类,并在类上进行访问控制以解决数据外 露的问题 ·例:.银行帐户类 链表类 °用类的构造函数与析构函数保证初始化和清除工作一定会 进行 第四章20:43:40 •存在的问题 – 函数名可能与对其它结构进行操作的函数发生冲突 – 客户程序员易忘记调用initialize()和cleanup() – 数据和对数据进行的操作分离,不符合现实世界中事物的 实际情况,也不符合人的思维习惯 – 数据完全对外暴露,无法保证对数据的访问的合法性、安 全性 •解决方法 •把对数据进行操作的函数做成结构体的成员,以解决名字 冲突和数据与操作的分离问题 例:.修改后的银行帐户 .修改后链表操作 •将结构体改换为类,并在类上进行访问控制以解决数据外 露的问题 • 例:.银行帐户类 .链表类 •用类的构造函数与析构函数保证初始化和清除工作一定会 进行 --- 第四章