string isbn() ;为啥isbn()可以调用empty()呢
string isbn() ;为什么isbn()可以调用empty()呢?
问题来源:c++ primer 5th 练习7.13
我知道假设A是string的一个对象,可以调用string类的成员函数empty(),即A.empty()。现在想问的是:
isbn()是个函数,为什么也可以调用empty()呢?
难道函数isbn()也可以是string的对象吗?
调用empty()与Sales_data 对象total有关系吗?
------解决思路----------------------
total.isbn() 返回的是string。
string可以调用empty().
------解决思路----------------------
total.isbn().empty()
相当于:
(total.isbn()).empty()
最重要的是要理解isbn返回string.也就是说total.isbn()相当于一个string对象.
问题来源:c++ primer 5th 练习7.13
struct Sales_data
{
//构造函数
Sales_data(istream& is){...}
//成员函数
string isbn() const { return bookNo; }
.....
};
int main()
{
Sales_data total(cin);
if (!total.isbn().empty())// 为什么函数isbn() 可以调用empty()?
{
....
}
return 0;
}
我知道假设A是string的一个对象,可以调用string类的成员函数empty(),即A.empty()。现在想问的是:
isbn()是个函数,为什么也可以调用empty()呢?
难道函数isbn()也可以是string的对象吗?
调用empty()与Sales_data 对象total有关系吗?
------解决思路----------------------
total.isbn() 返回的是string。
string可以调用empty().
------解决思路----------------------
total.isbn().empty()
相当于:
(total.isbn()).empty()
最重要的是要理解isbn返回string.也就是说total.isbn()相当于一个string对象.