码迷,mamicode.com
首页 > 其他好文 > 详细

设计类时需要注意的个地方

时间:2019-02-13 00:39:59      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:代码   编译器   nbsp   编译   使用   栈的操作   构造函数   不可   数据   

1.在类中声明构造函数,如果构造函数的参数需要初始化,最好在函数声明的时候使用构造函数独有的初始化方式,不要在函数体内再进行初始化,这样可以提高程序的运行效率,具体如下:

class person{
Private:
   Int age,height; 
Public:
   Person(const int &a,const int &h) : age(a) , height(h) {}      
};   

 

2.数据都放在private里面,这也体现了c++的三大特性之一:封装

3.参数能通过引用传递就不要用值传递。因为值传递的方式传进来的是一个特别大的数,会占用很多的栈空间,导致内存消耗过高。这里内存消耗过高在单一调用一个函数可能还不是很明显,可是如果使用了递归,编译器将会对参数一直进行压栈的操作,使用值传递很有可能就会导致堆栈溢出了(这里只是我的猜测,下次要写个代码验证一下)。

4.返回值能用引用就不要直接返回当前对象

5.如果参数在函数内不可以被改变,那么这个函数就应该声明为常量成员函数。这么做的目的是完善自己设计的接口,别人在调用这个类的成员函数时加了const,而实际声明这个函数时又没有告诉别人这个函数的参数是不可以改变的,那么就会造成二义性,编译的时候就会报错。

6.如果某一个参数在函数内的值不会被改变,那么将这个值使用const修饰。

 

设计类时需要注意的个地方

标签:代码   编译器   nbsp   编译   使用   栈的操作   构造函数   不可   数据   

原文地址:https://www.cnblogs.com/leoncumt/p/10367606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!