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

网站图片什么格式wordpress 修改主题

网站图片什么格式,wordpress 修改主题,龙岩个人小程序开发,ps制作网站过程条款24#xff1a;若所有参数皆需类型转换#xff0c;请为此采用non-member函数 一、问题引入 举个例子#xff0c;如果你设计一个表示有理数的类#xff0c;允许从整型到有理数的隐式转换应该是合理的。在C内置类型中#xff0c;从int转换到double也是再合理不过的了若所有参数皆需类型转换请为此采用non-member函数 一、问题引入 举个例子如果你设计一个表示有理数的类允许从整型到有理数的隐式转换应该是合理的。在C内置类型中从int转换到double也是再合理不过的了比从double转换到int更加合理。看下面的例子 class Rational { public://构造函数未设置为explicit因为我们希望一个int可以隐式转换为RationalRational(int numerator 0, int denominator 1);int numerator()const;int denominator()const; const Rational operator*(const Rational rhs)const; private:... }; 你想支持有理数的算术运算比如加法乘法等等跟随直觉我们将函数放进相关 class 内有时会与面向对象守则发生矛盾详见条款23会发生什么 Rational oneEighth(1, 8); Rational oneHalf(1, 2); Rational result oneHalf*oneEighth;//正确 result result*oneEighth; //正确 看到以上结果也许会觉得满足了但当你进一步尝试混合模式的运算的时候你会发现只有一半的操作是对的 Rational res oneHalf * 2;//正确 Rational result 2 * oneHalf; //错误 为什么错误 二、归因分析 将上面的例子用等价的函数形式写出来你就会知道问题出在哪里 result oneHalf.operator*(2); // fine result 2.operator*(oneHalf ); // error!在此分析 第一个能通过其原因在于发生了隐式类型转换编译器知道函数需要 Rational 类型但你传递了 int 类型的实参它们也同样知道通过调用 Rational 的构造函数可以将你提供的 int 实参转换成一个 Rational 类型实参这就是编译器所做的。类似于 const Rational temp(2); // 创建一个临时变量 result oneHalf * temp; // 等同于oneHalf.operator*(temp);第二不能通过其原因在于 oneHalf 对象是 Rational 类的一个实例而 Rational 支持 operator 操作所以编译器能调用这个函数。然而整型 2 却没有关联的类也就没有 operator 成员函数。编译器实际会去寻找非成员operator*函数例如 result operator*(2, oneHalf ); 因此为了支持混合模式的运算和满足一致性为了解决 只有参数列表中的参数才有资格进行隐式类型转换而 this 指针指向的那个没有资格进行隐式类型转换 的问题就要采用non-member函数。 三、解决方案 例如下面将 operator*() 函数变为一个非成员函数 class Rational { public:Rational(int numerator 0, int denominator 1);int numerator()const;int denominator()const; private:... };const Rational operator*(const Rational lhs,const Rational rhs) {return Rational(lhs.numerator()*rhs.numerator(),lhs.denominator()*rhs.denominator()); } 使用后结果如下 Rational oneFourth(1, 4); Rational result; result oneFourth* 2; result 2 * oneFourth;问题解决但还有点要注意operator* 是否该成为Rational class的一个友元函数呢 答案是否定的因为 operator* 可以完全依靠Rational的public接口来实现。上面的代码就是一种实现方式。我们能得到一个很重要的结论成员函数的反义词是非成员函数而不是友元函数。 太多的C程序员认为一个类中的函数如果不是一个成员函数举个例子需要为所有参数做类型转换那么他就应该是一个友元函数。 上面的例子表明这样的推理是有缺陷的。尽量避免使用友元函数就像生活中的例子朋友带来的麻烦可能比从它们身上得到的帮助要多。 四、总结 如果你需要为某个函数的所有参数包括被this这孩子很所指的那个隐喻参数进行类型转换那么这个函数必须是个non-member。
http://www.hkea.cn/news/14295693/

相关文章:

  • 做app网站的软件有哪些内容网站推广常用方法有哪些
  • 四川高速建设公司网站电影资源分享网站怎么做的
  • 建网站算法学做网站应该看那些书
  • 个人记账网站开发时长网页设计实践报告
  • 有人知道网站怎么做吗中国建设银行的网站用户名是什么意思
  • 建一个app和网站那个比较好中国能源建设集团有限公司董事长
  • 简述商务网站建设做明星简介网站侵权吗
  • 全景网站制作青岛 生物类网站建设
  • 网页设计视频网站建设乌海网站开发
  • 网站seo百度百科网站如何绑定虚拟主机
  • 塘厦建设网站注册深圳公司新规定
  • 保安做网站河南专业网站建设创新中心
  • o2o电商网站建设地下城钓鱼网站如何做
  • 外贸网站后台国外著名购物网站排名
  • 房地产公司网站建设报价方案网站建设 实施计划书
  • 网站建设外包服务网站安全检测可以检测哪些内容风险信息
  • 藁城外贸网站建设长沙简单的网站建设公司
  • 设计商标的网站网站后台html5模板
  • 获取网站访客qq号码大专计算机专业主要学什么
  • 首页网站怎么做的国产成年做视频网站
  • 邯郸手机网站开发价格ie的常用网站
  • 网站建设公司华网天下买赠两年学院宣传网站制作
  • 站长工具网站推广网站速度对seo的影响
  • ae如何做视频模板下载网站四川网站建设哪家好
  • 如何用flashfxp上传网站网站开发工资一般多少钱
  • 合肥网站开发外包公众号商城怎么开
  • 网站无障碍建设规定建站一条龙的服务流程是怎么样的
  • 企业形象网站开发什么叫网页什么叫网站
  • 适合个人做外贸的网站网站假网站这么做
  • 博瑞微传媒建站快车作文网站高中