首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于if条件表达式的用法?解决办法

2012-02-10 
关于if条件表达式的用法?请教这个if语句中的条件表达示什么意思:#includeiostream#includeSales_item.h

关于if条件表达式的用法?
请教这个if语句中的条件表达示什么意思:
#include   <iostream>
#include   "Sales_item.h "

int   main()
{
        Sales_item   trans1,   trans2;
        std   ::   cin   > >   trans1   > >   trans2;
       
        if   (trans1.same_isbn(trans2)) //这里不知道什么意思了,这个表达式的结果会是bool型吗?
                  std   ::   cout   < <   trans1   +   trans2   < <   std   ::   endl;
        else  
                  std   ::   cout   < <   "The   two   transactions   have   different   ISBN. "
                                          < <   std   ::   endl;
        system( "pause ");
        return   0;        
       
}
这是C++   primer里第一章里的1.22习题。我看了习题解答后知道是将两个对象做比较,可是还是不明白其中的用法,还有一句:  
        if   (std   ::   cin   > >   total)   //这句也不明白
惭愧,才开始学习C++,还请前辈们不吝赐教,尽量说的通俗一点!谢谢!

[解决办法]
if判断实际上就是判断括号内的结果,如果成立的话,则执行if体内的语句。显然你的分析是正确的。当然,如果你定义 int a = 1;
if(a){...}
编译器也能通过编译,同时执行括号内的语句。当然,是不推荐这样使用的。下面的是常见用法:
bool a = true;
if(a){...}

当然,如果定义bool foo(int x){...};
也可以判断if(foo(1)){...};
[解决办法]
就是从trans1对象上调用Sales_item类的成员函数same_isbn,而same_isbn的返回值是bool型的,当然完全可以放在if表达式中了。

热点排行