📄 main.cpp
字号:
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
class King {
protected:
string CrownName;
public:
virtual string &MyName() { return CrownName; }
};
class Prince : public King {
public:
string School;
};
class Queen {
public:
string Jurisdiction;
};
void KingInfo(King *inst) {
cout << "=========" << endl;
cout << inst->MyName() << endl;
Prince *asPrince = dynamic_cast<Prince *>(inst);
if (asPrince != 0) {
cout << asPrince->School << endl;
}
}
void KingInfoAsReference(King &inst) {
cout << "=========" << endl;
cout << inst.MyName() << endl;
try {
Prince &asPrince = dynamic_cast<Prince &>(inst);
cout << asPrince.School << endl;
}
catch (...) {
}
}
int main(int argc, char *argv[])
{
Prince George;
George.MyName() = "George I";
George.School = "School of the Kings";
KingInfoAsReference(George);
King Henry;
Henry.MyName() = "Henry II";
KingInfoAsReference(Henry);
system("PAUSE");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -