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

巩义网站网站建设html网站自带字体怎么做

巩义网站网站建设,html网站自带字体怎么做,装饰行业网站建设,电商软件app开发通常情况下#xff0c;类的成员函数都只涉及一个对象#xff0c;即调用它的对象。但有时候方法可能涉及到两个对象#xff0c;在这种情况就需要使用到C的this指针。 class Stock { private: ... double total_val; ... public: double total() const {return total_val;} }…通常情况下类的成员函数都只涉及一个对象即调用它的对象。但有时候方法可能涉及到两个对象在这种情况就需要使用到C的this指针。 class Stock { private: ... double total_val; ... public: double total() const {return total_val;} }如上述类total_val为私有成员外部程序不可以直接访问该数据成员只能通过total()方法获取total_val值。如果要知道哪个Stock对象total_val的值最大方法一是对象调用total()方法来较total_val值。 另外一种方法就是使用this指针。定义一个成员函数该函数可以查看两个Stock对象并返回total_val值较高对象的引用。拟定成员函数名为topval(),stock1.topval()访问stock1对象的数据成员stock2.topval()访问stock2对象的数据成员。要对两个对象进行比较则必须将其中一个对象作为参数传递给成员函数topval()则topval()的参数类型应为const Stock 出于效率原因选择使用引用来传递参数。topval()需要返回total_val值较大的对象则可以直接返回一个Stock对象的引用。topval()方法的原型如下 const Stock topval(const Stock s)const;topval()方法隐式的访问一个对象显式地访问一个对象并返回其中一个对象的引用。括号中的const表示该函数不会修改被显式访问的对象括号后面的cosnt表明该函数不会修改被隐式访问的对象。由于该函数返回了两个const对象之一的引用因此返回类型也应使用const修饰。 假设都要对Stock对象stock1和stock2进行比较将total_val值较大的对象赋值给top对象可以使用以下两条语句实现 top stock1.topval(stock2); top stock2.topval(stock1);第一种格式隐式地访问stock1显式地访问stock2第二种格式隐式地访问stock2显式地访问stock1。无论使用哪一种格式都会返回total_val值较大的那个对象。 C中this指针指向用来调用成员函数的对象(this被作为隐藏参数传递给方法)。stock1.topval(stock2);语句将this设置为stock1对象的地址。一般来说类方法都将this指针设置为调用它的对象的地址。topval()中的total_val只不过是this-total_val的简写。topval()的实现如下 const Stock Stock::topval(const Stock s)const {if(s.total_val total_val)return s;elsereturn *this; }特别提醒 每个成员函数(包括构造函数和析构函数)都有一个this指针。this指针指向调用对象。如果方法需要引用整个调用对象则可以使用表达式 * this 。在函数的括号后面使用const限定符将this限定为const这样就不能使用this来修改对象的值。this是对象的地址而不是对象本身。* this才是对象本身 * this可以作为调用对象的别名。 * this将解除引用运算符*用于指针将得到指针指向的值 示例代码如下 1、定义文件stock20.h //stock20.h--augmented version #pragma once #include stringclass Stock { private:std::string company;int shares;double share_val;double total_val;void set_tot() { total_val shares * share_val; } public:Stock();Stock(const std::string c0, int n 0, double pr 0.0);~Stock();void buy(long num, double price);void sell(long num, double price);void update(double price);void show()const;const Stock topval(const Stock s)const; }; 2、实现文件stock20.cpp //stock20.cpp--augement version #include stock20.h #include iostream Stock::Stock() {company no name;shares 0;share_val 0.0;total_val 0.0; } Stock::Stock(const std::string co, int n, double pr) {company co; if (n 0){std::cout Number of shares cant be negative; company shares set to 0.\n;shares 0;}elseshares n;share_val pr;set_tot(); } Stock::~Stock() { } void Stock::buy(long num, double price) {if (num 0){std::cout Number of shares purchased cant be nagative. Transacyion is aborted.\n;}else{shares num;share_val price;set_tot();} } void Stock::sell(long num, double price) {using std::cout;if (num 0){cout Number of shares sold cant be nagative. Transaction is abored.\n;}else if(num shares){cout You cant sell more than you have! Transaction is aborted.\n;}else{shares - num;share_val price;set_tot();} } void Stock::update(double price) {share_val price;set_tot(); } void Stock::show()const {using std::cout;using std::ios_base;//set format #.###ios_base::fmtflags orig cout.setf(ios_base::fixed, ios_base::floatfield);std::streamsize prec cout.precision(3);cout Company: company Shares: shares \n;cout Shares Price:$ share_val;//set format to #.##cout.precision(2);cout Total Worth:$ total_val \n;//restore original formatcout.setf(orig, ios_base::floatfield);cout.precision(prec); } const Stock Stock::topval(const Stock s)const {if (s.total_val total_val)return s;elsereturn *this; } 3、使用文件usestok2.cpp //usestock2.cpp-- using the Stock class //compilewith stock20.cpp #include iostream #include stock20.hint main() {Stock kate(NanoSmart, 12, 20.0);kate.show();Stock joe(Fleep Enterprises, 60, 6.5);joe.show();Stock top kate.topval(joe);std::cout \nMost valuable holding:\n;top.show();return 0; }代码运行结果joe的total_val 值比kate的total_val 值大故topjoe。
http://www.dnsts.com.cn/news/12132.html

相关文章:

  • 漂亮企业网站企业课程培训
  • 网站建设前的分析公司概况了解注册公司网站流程
  • iis 做网站短视频万能素材库
  • 官方网站制作哪家专业wordpress2018
  • 极客网站建设网站怎么做png阴影
  • 最近几天的新闻大事在线seo短视频
  • 网站百度云链接揭阳市榕城区建设局网站
  • 校园网站建设的要素内蒙古建设协会网站
  • 销售网站内容设计wordpress_主题
  • 做网站毕业设计存在的问题wordpress自带功能
  • 长春seo公司长春网站设计吉安网站公司
  • 深圳网站建设李天亮桂林做网站的公司哪家最好
  • 云南省建设系统网站自己做发卡网站支付接口
  • 免费做网站推广快速搭建企业网站
  • 上海高端网站建设服承德网站建设制作
  • 网站定制联通卡如何提升顾客的体验和服务
  • 免费游戏链接入口九江网站建设优化公司
  • wordpress自动生成缩略图seo优化工程师
  • 咸宁有做网站的吗湘潭网站开发
  • 青岛高端网站建设网站的内容包括什么
  • 杭州网站建设洛洛科技公司网络营销推广方案
  • 网站分为深圳网站开发公司宝网
  • wordpress建站主机找别人网站开发没给我源代码
  • 网站建设时怎么购买空间怎样创立一个网站
  • 租房网站的财务分析表怎么做绍兴企业网站开发
  • 建设网站公司哪个好宁夏住房和城乡建设局网站
  • 网站开发验收单招商加盟类网站模板
  • 盗版电影网站建设成本手机网站程序下载
  • 网站建设找工作公司网站怎么做包括什么
  • 门户网站百度百科查询系统网站模板