C++详解默认参数的构造函数及简单实例代码

 更新时间:2017年02月04日 10:33:20   投稿:lqh  
这篇文章主要介绍了 C++详解默认参数的构造函数及简单实例代码的相关资料,需要的朋友可以参考下

现在给大家介绍下 有默认参数的构造函数:

   大家知道函数获取形参的时候是通过函数调用时在实参里获得的,因此我们必须保证 实参的个数 和 形参的个数必须相同。而且有些情况下我们对于实参或许都是个固定的值。例如 我们需要计算长方形的面积 长x宽 但是用户可以不输入长 而且如果用户指定的情况下默认的长为 3,但是如果用户指定了则使用用户指定的宽 这就是用到默认参数了!

代码:

#include <iostream>
using namespace std;
int area(int l,int w=3);// 函数声明 并定义默认参数w=3;

int main(){
  int c=4; //长
  int k=5;
  int res; //结果
  res = area(c);
  cout<<res<<endl;
  return 0;
}
int area(int l,int w){//函数定义 l长 w宽
  int res=0;
  res = l*w;
  return res;
}

例如上面的代码,如果我们像在8行 res=area(c); 这里没有写成 res=area(c,w);则表示 不指定宽是多少,所以如果写成了 后面这样则说明用户指定了这个长方形的宽 为5;那么两者的结果就是不同的!

前者额结果为 12
后者的记过为 20

这就是默认参数的函数 和 没有默认参数函数的区别;

下面的习题:

设计函数,计算长方体的体积 和 长方形的面积

如果用户指定了三个参数则计算长方体的 体积 如果用户输入2个参数则计算长方形面积!

利用到含有默认参数的构造函数;

参考代码:

#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int area(int l,int w,int h=1);// 函数声明 并定义默认参数w=3;

int main(){
  int c=4; //长
  int k=5;//宽
  int h=2;//高 
  int res; //结果
  res = area(c,k);
  int res2=area(c,k,h);
  cout<<"面积为 ="<<res<<endl;
  cout<<"体积为 ="<<res2<<endl;
  return 0;
}
int area(int l,int w,int h){//函数定义 l长 w宽
  int res=0;
  res = l*w*h;
  return res;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • C++实现学生考勤信息管理系统

    C++实现学生考勤信息管理系统

    这篇文章主要为大家详细介绍了C++实现学生考勤信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • C语言进阶学习之指针

    C语言进阶学习之指针

    关于指针,其是C语言的重点,C语言学的好坏,其实就是指针学的好坏。其实指针并不复杂,学习指针,要正确的理解指针,本片文章能给就来学习一下
    2021-09-09
  • C语言实现时区转换函数的实例

    C语言实现时区转换函数的实例

    这篇文章主要介绍了C语言实现时区转换函数的实例的相关资料,这里分析需求并提供实现代码,需要的朋友可以参考下
    2017-08-08
  • pybind11: C++ 工程提供 Python 接口的实例代码

    pybind11: C++ 工程提供 Python 接口的实例代码

    这篇文章主要介绍了pybind11: C++ 工程如何提供 Python 接口,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • C++中静态初始化数组与动态初始化数组详解

    C++中静态初始化数组与动态初始化数组详解

    今天小编就为大家分享一篇C++中静态初始化数组与动态初始化数组详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • C++实现连连看消除算法

    C++实现连连看消除算法

    这篇文章主要为大家详细介绍了C++实现连连看消除算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Opencv实现绿幕视频背景替换功能

    Opencv实现绿幕视频背景替换功能

    这篇文章主要为大家详细介绍了Opencv实现绿幕视频背景替换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C++实现趣味扫雷游戏

    C++实现趣味扫雷游戏

    这篇文章主要为大家详细介绍了C++实现趣味扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C语言实现最长递增子序列问题的解决方法

    C语言实现最长递增子序列问题的解决方法

    这篇文章主要介绍了C语言实现最长递增子序列问题的解决方法,采用递归的方法解决该问题,是非常经典的一类算法,需要的朋友可以参考下
    2014-09-09
  • 详解C++中typedef 和 #define 的区别

    详解C++中typedef 和 #define 的区别

    这篇文章主要介绍了C++中typedef 与 #define 的区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论