C++学习第三十二天----继承和使用引用参数

1.代码说明

        code_c++/filefunc.cpp · Kite/C和C++ - 码云 - 开源中国 (gitee.com)

        上述代码是一个例子,计算望远镜的每个目镜的放大倍数,放大倍数=物镜的焦距/目镜的焦距;以此来说明继承的妙处。

        同时学习两个英语单词,eyepice:目镜;magnification:放大倍数;objective:物镜。

file_it(fout, objective, eps, LIMIT);//将目镜数据写入到文件ep-data中;

file_it(cout, objective, eps, LIMIT);//显示到屏幕上;

C++学习第二十天----简单文件输入/输出-CSDN博客

        方法setf()能够设置多种格式化状态;

        setf(ios_base::fixed)将对象置于使用定点表示法的模式;

        setf(ios::showpoint)将对象置于显示小数点的模式,即使小数点部分为0;

        precision(1)指定显示多少位小数,前提是处于定点模式;

        width(12)设置下一次输出操作使用的字段宽度,只对下一个值有效;默认字段宽度为0;

2.何时使用引用参数

        使用引用参数的原因:

        第一,程序员能够修改调用函数中的数据对象;

        第二,通过传递引用而不是整个数据对象,可以提高程序的运行速度;

        引用参数实际上是基于指针的代码的另一个接口。

        引用,指针,按值传递?下面说一下原则:

对于使用传递的值而不做修改的函数:
1,如果数据对象很小,如内置数据类型或小型结构,则按值传递;
2,如果数据对象是数组,则使用指针,这是唯一的选择,并将指针声明为指向const的指针;
3,如果数据对象是较大的结构,则使用const指针或const引用,以提高程序的效率。这样可以节省复制结构所需的时间和空间。
4,如果数据对象是类对象,则使用const引用。类设计的语义常常要求使用引用,这是c++新增这项特性的主要原因。因此,传递类对象参数的标准方式是按引用传递。
对于修改调用函数中数据的函数:
1,如果数据对象是内置数据类型,则使用指针。假如看到诸如fixit(&x)这样的代码,很明显是要修改x;
2,如果数据对象是数组,则只能使用指针;
3,如果数据对象是结构,则使用引用或指针;
4,如果数据对象是引用,则使用引用。

        当然了,实际应用需要根据应用场景做出最好的选择。

你可能感兴趣的:(学习,c++)