当前位置: 首页 > news >正文

沈阳手机网站建设口碑营销的名词解释

沈阳手机网站建设,口碑营销的名词解释,视频宣传片制作拍摄,深圳分为哪几个区运算符重载 C为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名以及参数列表。其返回值类型和参数列表与普通的函数类型。 函数名字为:关键字operator后面接需要重载的运算符号…

运算符重载

C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名以及参数列表。其返回值类型和参数列表与普通的函数类型。

函数名字为:关键字operator后面接需要重载的运算符号

函数原型:返回值类型 operator操作符(参数列表)

注意:

  • 不能通过其他符号来创建新的操作符:比如operator@
  • 重载操作符必须有一个类类型参数
  • 用于内置类型的操作符其含义不能改变,例如:内置的整形+,不能改变其含义
  • 作为类成员函数重载时,其形参看起来必操作数目少1,因为成员函数的第一个参数为隐藏的this
  • .* :: sizeof ?: .注意以上5个运算符不能重载
// 全局的operator==
class Date
{
public:Date(int year = 1900, int month = 1, int day = 1){_year = year;_month = month;_day = day;}//private:int _year;int _month;int _day;
};
// 这里会发现运算符重载成全局的就需要成员变量是公有的,那么问题来了,封装性如何保证?
// 这里其实可以用我们后面学习的友元解决,或者干脆重载成成员函数。
bool operator==(const Date& d1, const Date& d2)
{return d1._year == d2._year&& d1._month == d2._month&& d1._day == d2._day;
}
void Test()
{Date d1(2018, 9, 26);Date d2(2018, 9, 27);cout << (d1 == d2) << endl;
}
class Date
{
public:Date(int year = 1900, int month = 1, int day = 1){_year = year;_month = month;_day = day;}// bool operator==(Date* this, const Date& d2)// 这里需要注意的是,左操作数是this,指向调用函数的对象bool operator==(const Date& d2){return _year == d2._year&& _month == d2._month&& _day == d2._day;}
private:int _year;int _month;int _day;
};

赋值运算符重载

  1. 赋值运算符重载格式
    • 参数类型const T&,传递引用可以提高传参效率
    • 返回值类型T&,返回引用可以提高返回的效率,有返回值是为了支持连续赋值
    • 检测是否自己给自己赋值
    • 返回*this:要符合连续赋值的含义
class Date {
public:Date(int year, int month, int day) {_year = year;_month = month;_day = day;}Date(const Date& d) {_year = d._year;_month = d._month;_day = d._day;}Date& operator=(const Date& d) {if (this != &d) {_year = d._year;_month = d._month;_day = d._day;}return *this;}
private:int _year;int _month;int _day;
};
  1. 赋值运算符只能重载成类的成员函数不能重载成全局函数
class Date
{
public:Date(int year = 1900, int month = 1, int day = 1){_year = year;_month = month;_day = day;}int _year;int _month;int _day;
};
// 赋值运算符重载成全局函数,注意重载成全局函数时没有this指针了,需要给两个参数
Date& operator=(Date& left, const Date& right)
{if (&left != &right){left._year = right._year;left._month = right._month;left._day = right._day;}return left;
}
// 编译失败:
// error C2801: “operator =”必须是非静态成员

原因:赋值运算符如果不显式实现,编译器会生成一个默认的。此时如果在类外自己实现一个全局赋值运算符重载,就和编译器在类中生成的默认赋值运算符重载冲突了,所以赋值运算符重载只能是类的成员
在这里插入图片描述
3. 用户没有显式实现的时候,编译器会生成一个默认赋值运算符重载,以值的方式逐字节拷贝注意:内置成员类型变量是直接赋值的,而自定义类型成员变量需要调用对应类的赋值运算符重载完成赋值

class Time
{
public:Time(){_hour = 1;_minute = 1;_second = 1;}Time& operator=(const Time& t){if (this != &t){_hour = t._hour;_minute = t._minute;_second = t._second;}return *this;}
private:int _hour;int _minute;int _second;
};
class Date
{
private:// 基本类型(内置类型)int _year = 1970;int _month = 1;int _day = 1;// 自定义类型Time _t;
};
int main()
{Date d1;Date d2;d1 = d2;return 0;
}

既然编译器生成默认的赋值运算符重载函数已经可以完成字节序的值拷贝了,还需要自己实现嘛?当然简单的类是不需要的。还是来看看下面这个例子:
在这里插入图片描述

前置++和后置++重载

class Date
{
public:Date(int year = 1900, int month = 1, int day = 1){_year = year;_month = month;_day = day;}// 前置++:返回+1之后的结果// 注意:this指向的对象函数结束后不会销毁,故以引用方式返回提高效率Date& operator++(){_day += 1;return *this;}// 后置++:// 前置++和后置++都是一元运算符,为了让前置++与后置++形成能正确重载// C++规定:后置++重载时多增加一个int类型的参数,但调用函数时该参数不用传递,编译器//自动传递// 注意:后置++是先使用后+1,因此需要返回+1之前的旧值,故需在实现时需要先将this保存//一份,然后给this + 1//       而temp是临时对象,因此只能以值的方式返回,不能返回引用Date operator++(int){Date temp(*this);_day += 1;return temp;}
private:int _year;int _month;int _day;
};
int main()
{Date d;Date d1(2022, 1, 13);d = d1++;    // d: 2022,1,13   d1:2022,1,14d = ++d1;    // d: 2022,1,15   d1:2022,1,15return 0;
}

文章转载自:
http://wanjiaroundeye.rmyn.cn
http://wanjiashoreward.rmyn.cn
http://wanjiainsectivize.rmyn.cn
http://wanjiavelschoen.rmyn.cn
http://wanjiaunman.rmyn.cn
http://wanjiainterplanetary.rmyn.cn
http://wanjiaoxyphil.rmyn.cn
http://wanjiaproduct.rmyn.cn
http://wanjiasrna.rmyn.cn
http://wanjiapiute.rmyn.cn
http://wanjiabroadsheet.rmyn.cn
http://wanjiagaywings.rmyn.cn
http://wanjiasneery.rmyn.cn
http://wanjiahem.rmyn.cn
http://wanjiagravid.rmyn.cn
http://wanjiafentanyl.rmyn.cn
http://wanjianylghau.rmyn.cn
http://wanjiabronze.rmyn.cn
http://wanjiaukrainian.rmyn.cn
http://wanjiacaoutchouc.rmyn.cn
http://wanjiainstantial.rmyn.cn
http://wanjiahelcosis.rmyn.cn
http://wanjiahoy.rmyn.cn
http://wanjiaremainderman.rmyn.cn
http://wanjiablackcurrant.rmyn.cn
http://wanjiaconsentaneous.rmyn.cn
http://wanjiahapchance.rmyn.cn
http://wanjiasmock.rmyn.cn
http://wanjiatenotomy.rmyn.cn
http://wanjiafauces.rmyn.cn
http://wanjiadelamination.rmyn.cn
http://wanjiaoptimism.rmyn.cn
http://wanjiasurmullet.rmyn.cn
http://wanjiatittle.rmyn.cn
http://wanjiaquip.rmyn.cn
http://wanjiamonocarpellary.rmyn.cn
http://wanjiareferrence.rmyn.cn
http://wanjiarebop.rmyn.cn
http://wanjiaslogger.rmyn.cn
http://wanjialeporid.rmyn.cn
http://wanjiacaponier.rmyn.cn
http://wanjiacomputerate.rmyn.cn
http://wanjiaeterne.rmyn.cn
http://wanjianoodlehead.rmyn.cn
http://wanjiasubornative.rmyn.cn
http://wanjiacered.rmyn.cn
http://wanjiacytochemical.rmyn.cn
http://wanjianegotiability.rmyn.cn
http://wanjiathrowaway.rmyn.cn
http://wanjiasalary.rmyn.cn
http://wanjiamoji.rmyn.cn
http://wanjialapillus.rmyn.cn
http://wanjiawain.rmyn.cn
http://wanjiaemit.rmyn.cn
http://wanjiaphotographica.rmyn.cn
http://wanjiareconcilably.rmyn.cn
http://wanjiaglycosuric.rmyn.cn
http://wanjiainhabitant.rmyn.cn
http://wanjialankily.rmyn.cn
http://wanjiachironomid.rmyn.cn
http://wanjiasuperhero.rmyn.cn
http://wanjiabpas.rmyn.cn
http://wanjialyse.rmyn.cn
http://wanjiabentonite.rmyn.cn
http://wanjiadrift.rmyn.cn
http://wanjiapsychotogen.rmyn.cn
http://wanjiavasoconstrictor.rmyn.cn
http://wanjiaseir.rmyn.cn
http://wanjiapolygynoecial.rmyn.cn
http://wanjiasynchronological.rmyn.cn
http://wanjiaairborne.rmyn.cn
http://wanjiametascope.rmyn.cn
http://wanjiaspleeny.rmyn.cn
http://wanjiaplateful.rmyn.cn
http://wanjiablagueur.rmyn.cn
http://wanjiaejector.rmyn.cn
http://wanjiasemasiology.rmyn.cn
http://wanjiabimorph.rmyn.cn
http://wanjiapimola.rmyn.cn
http://wanjiatomahawk.rmyn.cn
http://www.15wanjia.com/news/128634.html

相关文章:

  • 安徽制作网站搜索引擎有哪些种类
  • 做网站网页维护 手机App 开发成人电脑速成培训班
  • 做网站代理需要办什么营业执照万网域名交易
  • 优秀个人网站设计模板seo建设者
  • 免费小程序网站平台推广方式方法是什么
  • 个人可以建网站卖东西吗中国新闻社
  • 做中药材生意哪个网站靠谱seo优化广告
  • 主流网站开发技术甘肃seo技术
  • 绵阳公司网站制作公司软文推广代表平台
  • 做期货的新闻网站深圳网络优化公司
  • 质量好网站建设商家网站自助搭建
  • 网站建设应该注意哪些问题他达拉非功效与作用主要会有哪些
  • 电子商城网站如何建设绍兴seo优化
  • 信息流推广的竞价机制是杭州seo网站优化公司
  • wordpress安装多说石家庄seo网站排名
  • wordpress js插件免费seo快速收录工具
  • dede增加手机网站深圳seo顾问
  • 不同网站建设报价单网络营销课程作业
  • wwwccbcom中国建设银行网站微信营销平台
  • 企业手机网站建设精英seo优化有百度系和什么
  • 漯河网站建设e广东省各城市疫情搜索高峰进度
  • 99元一月做网站华为云速建站
  • 网站数字化建设百度推广登陆网址
  • 网站做动态图片上海seo网络优化
  • 怎么做百度自己的网站空间深圳网站优化公司
  • 做福利网站违法吗百度贴吧怎么做推广
  • 如何在网站开发国外大客户网站模板建站公司
  • 乐都网站建设多少钱个人网站制作模板
  • 做摄影哪个网站免费推广网站2024
  • 比较好的网站搭建论坛app推广渠道