(1)基类指针不能直接赋给派生类指针
(2)若使用显示类型转换,则正确使用指针是程序员的责任
(3)由于基类指针指向的是基类对象,强制转换后,派生类指针可以正确访问到基类对象中的数据,
但是派生类对象的数据实际上是不存在的,若强行访问,则危险。
基类指针,派生类指针,基类对象,派生类对象的混合匹配:
1,直接用基类指针引用基类对象
2,直接用派生类指针引用派生类对象
3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的,
但是只能引用基类成员。若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。
(解决该问题的答案是虚函数和多态性)
4,用派生类指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针。
(2)若使用显示类型转换,则正确使用指针是程序员的责任
(3)由于基类指针指向的是基类对象,强制转换后,派生类指针可以正确访问到基类对象中的数据,
但是派生类对象的数据实际上是不存在的,若强行访问,则危险。
基类指针,派生类指针,基类对象,派生类对象的混合匹配:
1,直接用基类指针引用基类对象
2,直接用派生类指针引用派生类对象
3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的,
但是只能引用基类成员。若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。
(解决该问题的答案是虚函数和多态性)
4,用派生类指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针。