本文整理汇总了C++中BaseClass::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseClass::getName方法的具体用法?C++ BaseClass::getName怎么用?C++ BaseClass::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseClass
的用法示例。
在下文中一共展示了BaseClass::getName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
BaseClass* bc = new BaseClass;
InheritedClass* ic = new InheritedClass;
cout << bc->getName() << endl;
cout << bc->getFunctionName() << endl;
cout << ic->getName() << endl;
cout << ic->getFunctionName() << endl;
//Now the tricky parts
InheritedClass* fault_ic = dynamic_cast<InheritedClass*>(bc);
assert(fault_ic == nullptr); // BaseClass is not InheritedClass
BaseClass* bc_ptr = dynamic_cast<BaseClass*>(ic);
assert(bc_ptr != nullptr); // InheritedClass is BaseClass
assert(bc_ptr->getName() == ic->getName()); //because of virtual getName still calls the child object
assert(bc_ptr->getFunctionName() != ic->getFunctionName()); //but getFunctionName is not virtual
getchar();
return 1;
}