Skip to content

Latest commit

 

History

History
163 lines (138 loc) · 4.98 KB

chapter-19-answer.md

File metadata and controls

163 lines (138 loc) · 4.98 KB
try
{
    C & cy = dynamic_cast<C &>(*pa);
    //use C
}
catch (bad_cast)
{
    //use A
}
(a) A*
(b) A*
(c) B
  • 练习19.11
    普通指针只能定义指向的类型,而数据成员指针可以指向特定类的成员类型,并且在解引用时才指定类对象。

  • 练习19.12

const Screen::pos Screen::*data;
data = &Screen::cursor;
  • 练习19.13
const std::string Sales_data::*pdata;
pdata = &Sales_data::bookNo;
  • 练习19.14
    合法,因为pmf指向的类一样,函数类型也一样

  • 练习19.15
    普通指针只能定义指向函数类型,而成员函数指针可以指向特定类的成员函数类型,并且在解引用时才指定类对象。

  • 练习19.16

double (Sales_data::*pfun)() const;
pfun = &Sales_data::avg_price;
  • 练习19.17
using Action = Screen & (Screen::*)();
using getSome = char (Screen::*)() const;
using getSome2 = char (Screen::*)(Screen::pos, Screen::pos) const;