设为首页 加入收藏

TOP

C++面向对象高效编程:数据抽象(二)
2016-12-06 20:24:45 】 浏览:577
Tags:面向 对象 高效 编程 数据 抽象
数。

回收指针所引用的内存

赋值操作符

实现赋值操作符重载的时候必须注意:

确保对象没有自我赋值

复用被赋值对象(目的对象)的资源或者销毁它

从元对象中将带赋值内容赋值到目的对象

最后,返回目的对象的引用

类的接口

当类的用户查看类的时候,最关心的是类中的声明内容。通过观察类的共有成员函数,客户可获知对类对象进行的绝大多数操作。因此一个好的类,必须对类的接口有着良好的设计和注释。

类通常被用户用来创建对象或者通过继承创建其他类,而成员函数则被这些对象调用,我们要为类和成员函数提供有意义的名称。

此外,我们还应该为成员函数的参数使用合适的名称。这样用户可以清楚地知道某个参数的用途。

而在大多数情况下,仅通过查看函数、参数名称,无法清楚地了解类及其成员函数的用途,必须提供详尽的文档,其内容包括:

类的用途 预定用户 所依赖的类 类的限制是什么

参数的传递模式

每种成员函数都应该清楚地指明参数的传递模式,参数可以按照值传递、引用传递、指针传。与const联合使用,参数会更加的安全可靠。

每个参数的传递模式都给客户传达特定的含义,此外,有时还需准许你一些经长时间验证的有效规则。为参数选择合适的类型非常重要。

下面几个例子说明参数不同的传递模式设置:
注:主调函数指的是g()函数(或者main()函数),它调用另外一个函数f(),此时,f()是被调函数。

若有两个类T、X 以及X类的成员函数f()

(1)void X::f(T arg)
(2)void X::f(const T arg)
(3)void X::f(T& arg)
(4)void X::f(const T& arg)
(5)void X::f(T* argp)
(6)void X::f(const T*arg)
(7)void X::f(T* const argp)
(8)void X::f(const T* const argp)

为参数选择正确的模式:

函数的返回值

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++入门学习笔记 下一篇C++编程入门(44)多态性:多态的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目