14/02/05 05:35:17.47
class Person {
protected:
std::string name_;
};
class Student : public Person {
private:
std::string college_;
};
このような2つのクラスがあるとして、Studentクラスのオブジェクトstudentを
Person person = dynamic_cast<Person>(student);
のような形でキャストした場合、メンバ変数college_は失われるってことでいいんでしょうか?
また、変数studentがStudentクラスのポインタだった場合、
Person *person = dynamic_cast<Person*>(student);
Student *student2 = dynamic_cast<Student*>(person);
の様な変換を行ったらstudent2のメンバ変数college_はまだ健在なんでしょうか?