c++内联函数使用和运算符重载的方法是什么

本篇内容主要讲解“c++内联函数使用和运算符重载的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c++内联函数使用和运算符重载的方法是什么”吧!

公司专注于为企业提供网站设计、成都网站制作、微信公众号开发、成都商城网站开发,成都微信小程序,软件按需开发等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联建站更提供一系列网站制作和网站推广的服务。

一.内联函数

内联函数不走函数调用功能,相当于直接把函数执行的代码块复制过来了,类似于宏,但是功能一般来说比宏更强大注意

1.内联函数比常规函数要快,但是代价是占用更多内存(空间换时间)
2.类内定义的普通函数都是内联函数(注意是类内定义而不是类内声明)
3.内联函数一般把定义写在头文件中,而不是源文件

声明方式
很简单,在函数前面加上inline

二.运算符重载

int a = 1;
    CStu st;
    st + a;

在没有运算符重载的情况下,上述运算会报错。但是有了运算符重载,上述运算就会有结果了。

1.使用形式

返回值+operator+运算符+(),()里面放参数,其中一个参数一定要是对象

class CStu
{
public:
    int nAge;
    CStu()
    {
        nAge = 10;
    }
};
void operator+(CStu& st1, int b)
{
    cout << st1.nAge + b << endl;
}
int main()
{
    int a = 1;
    CStu st;
    st + a;
    system("pause");
    return 0;
}

上面是没有返回值的,当然也可以有返回值,运算符重载返回值的作用就是:为了能够进行连续运算

int operator+(CStu& st1, int b)
{
    return st1.nAge + b;
}
int main()
{
    int a = 1;
    CStu st;
    cout<<st + a + 1<<endl;
    system("pause");
    return 0;
}

2.类外重载与类内重载

上面的例子都是类外重载,其中要注意:参数里面其中一个一定要是对象,而且运算符两侧分别就是左参数和右参数。
类内重载使用示例如下

class CStu
{
public:
    int nAge;
    CStu()
    {
        nAge = 10;
    }
    void operator+(int b)//注意这里只能传一个参数,因为左参数默认是this指针,也就是相当于有对象做参数
    {
        cout << nAge + b << endl;
    }
};

int main()
{
    int a = 1;
    CStu st;
    st + a;//形式一定是 对象+某个数据类型
    system("pause");
    return 0;
}

注意:形式很死板,就是对象+某个数,不能倒过来。而且默认有左参数是this指针,也就是函数里面可以使用this。

void operator+(int b)
    {
        cout << this->nAge + b << endl;
    }

到此,相信大家对“c++内联函数使用和运算符重载的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

当前标题:c++内联函数使用和运算符重载的方法是什么
本文URL:https://www.cdcxhl.com/article26/gdpicg.html

成都网站建设公司_创新互联,为您提供电子商务微信公众号App开发全网营销推广面包屑导航网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设