私はC++を学んでいます。メモリダイアグラムのヘルプが必要
次のようなコードが実行されると、フードの下で何が起きているかのような思い出を見たいと思っています。
// dynamic_cast
#include <iostream>
#include <exception>
using namespace std;
class CBase { virtual void dummy() {} };
class CDerived: public CBase { int a; };
int main() {
try {
CBase * pba = new CDerived;
CBase * pbb = new CBase;
CDerived * pd;
pd = dynamic_cast<CDerived*>(pba);
if (pd==0) cout << "Null pointer on first type-cast" << endl;
pd = dynamic_cast<CDerived*>(pbb);
if (pd==0) cout << "Null pointer on second type-cast" << endl;
} catch (exception& e) {cout << "Exception: " << e.what();}
system("PAUSE");
return 0;
}
誰かが私を助けてくれますか?
あなたは確信している部分はありますか? – John
このような図がどのように見えるかわかりません。あなたは例を挙げることができますか? – cdhowie
もしあなたが最初の4行を描くことができれば..それは私と大丈夫です – user882196