当前位置:首页 > 单片机 > C语言与CPP编程
[导读]以良好的方式编写Cclass假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。①Header(头文件)中的防卫式声明complex.h:#ifndef__COMPLEX__#define__COMPLEX__classcomplex{}#endif防...

以良好的方式编写C class

假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯。

① Header(头文件)中的防卫式声明

complex.h:

# ifndef __COMPLEX__
# define __COMPLEX__
class complex
{

}
# endif
防止头文件的内容被多次包含。

② 把数据放在private声明下,提供接口访问数据

# ifndef __COMPLEX__
# define __COMPLEX__
class complex
{
public:
double real() const {return re;}
double imag() const {return im;}
private:
doubel re,im;
}
# endif
③ 不会改变类属性(数据成员)的成员函数,全部加上const声明

例如上面的成员函数:

double real () `const` {return re;}
double imag() `const` {return im;}
既然函数不会改变对象,那么就如实说明,编译器能帮你确保函数的const属性,阅读代码的人也明确你的意图。

而且,const对象才可以调用这些函数——const对象不能够调用非const成员函数。

④ 使用构造函数初始值列表

class complex
{
public:
complex(double r = 0, double i =0)
: re(r), im(i) { }
private:
doubel re,im;
}
在初始值列表中,才是初始化。在构造函数体内的,叫做赋值。

⑤如果可以,参数尽量使用reference to const

为complex 类添加一个 =操作符:

class complex
{
public:
complex
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭