本文整理汇总了C++中Foo::FooIt方法的典型用法代码示例。如果您正苦于以下问题:C++ Foo::FooIt方法的具体用法?C++ Foo::FooIt怎么用?C++ Foo::FooIt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Foo
的用法示例。
在下文中一共展示了Foo::FooIt方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DynamicCastFun
void DynamicCastFun()
{
for( int n = 0; n < 3; ++n )
{
Base* base = CreateRandom();
base->DoIt();
// NOT TYPE SAFE: WE DON'T KNOW THE TYPE OF BASE
// SO USE DYNAMIC CAST INSTEAD
//Bar* bar = (Bar*)base;
//bar->BarIt();
Bar* bar = dynamic_cast<Bar*>(base);
Foo* foo = dynamic_cast<Foo*>(base);
if( bar )
bar->BarIt();
if( foo )
foo->FooIt();
}
{
Base* base = new Base();
Foo* foo1 = dynamic_cast<Foo*>(base);
if (foo1 == NULL)
{
cout << endl << "Dynamic Cast Failed. foo1 is NULL" << endl;
}
else
{
cout << endl << "Dynamic Cast Succeeded. foo1 is NOT NULL" << endl;
}
}
}
示例2: main
int main()
{
/* regular cast */
// float d=3.14159265;
// int i = static_cast<int>(d);
// cout << "i = " << i << endl << endl;
for( int n = 0; n < 5; ++n )
{
Base* base = CreateRandom();
base->DoIt();
Bar* bar = static_cast<Bar*>(base);
Foo* foo = static_cast<Foo*>(base);
if( bar )
bar->BarIt();
if( foo )
foo->FooIt();
delete base;
base = NULL;
printf("-------------STATIC_CAST-------------- \n");
}
return 0;
}