C++基础:内联函数、重载函数

目的
(1) 熟悉基本的输入输出方法;
(2) 掌握内联函数,带默认形参的函数,重载函数;
(3) 理解命名空间的概念,掌握命名空间的使用;
(4) 熟悉const关键字的使用;
(5) 掌握内存的动态分配的概念和使用方法;
(6) 熟悉编译预处理命令;

(1)编写重载函数max1可分别求取2个整数、3个整数、2个双精度数、3个双精度数的最大值。

#include<bits\stdc++.h>
using namespace std;
//求取2个整数的最大值
void MAX_i2(int x,int y)
{
    int a=x>y?x:y;
    cout<<a<<endl;
}
//求取3个整数的最大值
void MAX_i3(int x,int y,int z)
{
    int a=x>y?x:y;
    int b=a>z?a:z;
    cout<<b<<endl;
}
//求取2个双精度数的最大值
void MAX_d2(double x,double y)
{
    double a=x>y?x:y;
    cout<<a<<endl;
}
//求取3个双精度数的最大值
void MAX_d3(double x,double y,double z)
{
    double a=x>y?x:y;
    double b=a>z?a:z;
    cout<<b<<endl;
}
int main()
{
    MAX_i2(3,4);
    MAX_i3(3,4,5);
    MAX_d2(3.123,3.9087);
    MAX_d3(3.16789,4.908,2.189);
    system("pause");
    return 0;
}


在这里插入图片描述

(2)用new操作为一个包含10个整数的数组分配内存,输入若干个值到数组中,分别统计其中正数和负数的个数后再用delete操作释放内存。

#include<bits\stdc++.h>
using namespace std;
int main()
{
    int *p;
    p=new int[10];
    int count_min=0;
    int count_pos=0;
    if(!p)
    {
        cout<<"allocation fauilure"<<endl;
        return 0;
    }
    for(int i=0;i<10;i++)
    {
        cin>>p[i];
        if(p[i]<0)
        {
            count_min++;
        }
        if(p[i]>0)
        {
            count_pos++;
        }
    }
    cout<<"正数的个数:"<<count_pos<<endl;
    cout<<"负数的个数:"<<count_min<<endl;
    delete []p;
    system("pause");
    return 0;
}


在这里插入图片描述

注意

  1. 注意new与delete的搭配使用;new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该段空间在局部函数调用结束后仍然能够使用,可以用来向主函数传递参数。另外需要注意的是,new的使用格式,new出来的是一段空间的首地址。所以一般需要用指针来存放这段地址。
  2. 重载函数可以通过参数个数的不同来区别,同样也可以通过参数类型的不同来区别;运算符重载的实质就是函数重载或函数多态。运算符重载是一种形式的C++多态。目的在于让人能够用同名的函数来完成不同的基本操作。要重载运算符,需要使用被称为运算符函数的特殊函数形式。
    3.注意,用delete删除数组时,需要加中括号,以及位置;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@小冯@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值