E D R , A S I H C RSS

Run Time Type Information



1. RTTI

™ œกœ งŒ“ค–ด„ €ˆ˜˜ ํƒ€ž…„ „ตํ•˜ณ , ํŠ • ํƒ€ž…œกœ ƒ„ํ•˜Š” ฒƒ„ €Šฅํ•˜ฒŒ ํ•œ‹ค. (žฐ”—„œŠ” instanceof ƒฐํ•ดณดฉด   “)

MFC—„œŠ” C++—„œ ํ‘œ€œกœ ดšฉ˜ธฐ ด „€„งคํฌกœ ดšฉํ•œ ฐฉฒ•œกœ ดฒƒ„ €›ํ–ˆœฉฐ, •„ง„ ทธ ž”žฌ€ ‚จ•„žˆ‹ค.

2. example

•„ž˜Š” RTTI˜ “ฐž„ƒˆ ํ‘œํ˜„ํ•œ ˜ˆด‹ค.
~cpp
class base {
};

class derived : public base {
   int compare(derived &ref);
};

int my_comparison_method_for_generic_sort(base &ref1, base &ref2)
{
    derived d = dynamic_cast<derived &>(ref1);  // rtti used here
    // rtti enables the process to throw a bad_cast exception
    // if the cast is not successful
    return d.compare(dynamic_cast<derived &>(ref2));
}

œ„—„œ ณด“ด ํดž˜Šค˜ ํ˜•„ „ตํ•˜Š” ฒƒด €Šฅํ•˜‹ค.

3. RTTI in MFC


MFC—„œ CRuntimeClass ตฌกฐฒด, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE, IMPLEMENT_DYNCREATE, RUNTIME_CLASS ดšฉํ•ด„œ ตฌํ˜„ํ•˜ณ  žˆ‹ค.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:56
Processing time 0.0118 sec