美文网首页
2018-01-24 高级函数

2018-01-24 高级函数

作者: 辣么大大大大 | 来源:发表于2018-01-27 11:20 被阅读0次

1.重载成员函数

编写多个名称相同但参数不同的函数,成员函数也可也重载。

class Rectangle
{
public:
    Rectangle(int width, int height);
    ~Rectangle(){}

    void drawShap();
    void drawShap(int width, int height);
private:
    int width;
    int height;
};
int main()
{
    Rectangle box(30,5);
    std::cout <<"drawShape(): \n";
    box.drawShape();
    std::cout <<"drawShape(40,2): \n";
    box.drawShape(40, 2);
    return 0;
}

编译器根据参数的类型和数值决定调用哪个版本。

2.使用默认值

常规函数可以有一个或多个默认值,类的成员函数也如此。声明默认值的规则也相同。

class Rectangle
{
public:
    Rectangle(int width, int height);
    ~Rectangle(){}

    void drawShape();
    void drawShape(int aWidth, int aHeight, bool useCurrentValue = false);
private:
    int width;
    int height;
};

3. 初始化对象

可以重载构造函数,但不能重载析构函数。析构函数签名总是这样:名称类名前加~,且不接受任何参数。

4.复制构造函数

除了提供默认构造函数和析构函数外,编译器还提供一个默认复制构造函数。每当创建对象的备份时,都将调用复制构造函数。
所有复制构造函数都接受一个参数:一个引用,它指向所属类的对象。最好讲该引用声明为常量,因为复制构造函数不用修改传入的对象,例如;

Tricycle(const Tricycle &trike);

默认的复制构造函数为成员复制(浅复制),不适用于指向堆中对象的指针这样的成员变量。

相关文章

  • 2018-01-24 高级函数

    1.重载成员函数 编写多个名称相同但参数不同的函数,成员函数也可也重载。 编译器根据参数的类型和数值决定调用哪个版...

  • 2018-01-24

    2018-01-24 枫叶_c481 2018-01-24 13:25 · 字数 662 · 阅读 0 · 日记本...

  • 2018-01-24

    2018-01-24 汪何炯 2018-01-24 10:26 · 字数 327 · 阅读 19 · 日记本 (万...

  • Scala入门与进阶(六)- Scala 函数高级操作

    7. Scala 函数高级操作 1. 字符串高级操作 2. 匿名函数 3. currying 函数

  • JS高级函数

    高级函数 在 JavaScript 中使用函数的高级方法。 数据类型的安全检测 构造函数的安全作用域 惰性载入函数...

  • JS高级

    JS高级 原型 函数高级 对象高级 本地存储 cookie localStorage sessionStorage...

  • 高级函数

  • 高级函数

    递归 利用函数编写如下数列:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21...

  • 2021-11-30(Kotlin学习笔记)Kotlin 基础(

    kotlin java 隔离 kotlin 扩展函数 java 中调用扩展函数 高级函数

  • for in ,for of, reduce

    for in ,for of, reduce 高级函数 filter map reduce filter 回调函数...

网友评论

      本文标题:2018-01-24 高级函数

      本文链接:https://www.haomeiwen.com/subject/kmosaxtx.html