获取 c++ 类名

void PrintClassName(void *p)
{
type_info *** vtable = (type_info
***)(*(int*)p);
type_info ** v1 = vtable[-1];
type_info * v =
v1[3];
printf("printName: %s\n", v->name());
}

前提:该类必须有virtual 成员

例如:

class class1
{
char a;
double b;
public:
virtual
~class1(){}

};

获取 c++ 类名,布布扣,bubuko.com

时间: 2024-11-09 08:12:57

获取 c++ 类名的相关文章

AS3动态获取对象类名及类的方法,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName

首先先告诉大家,我要讲的是flash.utils包中的 getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName 可能帮助文档写的过于专业,程序底子差的不一定能看明白,我用我理解的,通俗的讲一遍给大家听.. 1.getDefinitionByName 如果你已知这个类的类名类路径,但是你又没办法得到这个类的原型,那么可以通过该函数,将已知的类名类路径转换为类的原型,然后还可以将得到的类原型进行实例化,比如: var

通过js获取class类名的函数封装

通过className获取元素,不同的浏览器会有不同的支持情况,所以为了兼容各个浏览器在这里,我写了几个函数获取className的值 function byclass(classn){//全局获取类 var tags=document.all ? document.all : document.getElementsByTagName('*'); var arr=[]; for (var i = 0; i < tags.length; i++) { //获取只有一个类名的元素 if (tags

获取当前类名

获取类名: 1.在类的实例中可使用this.getClass().getName();适用于非静态方法,在static method中不能使用该方法: 2.在static method中使用方法:Thread.currentThread().getStackTrace()[1].getClassName(); 获取方法名:Thread.currentThread().getStackTrace()[1].getMethodName(); 获取代码行号:Thread.currentThread()

PHP的继承方法如何获取子类名?get_class() 和 get_called_class()

PHP里的__CLASS__这类东西是静态绑定的,如果不在子类里重载的话,那么继承父类方法所得到的依旧是父类的名称,而不是子类的名称,比如: <?php class A { function __construct() { echo __CLASS__; } static function name() { echo __CLASS__; } } class B extends A { } $objB = new B(); // 输出 A B::name(); // 输出 A 此时,无论将B实例

Android获取Java类名/文件名/方法名/行号

/** * Android打印方法路径 */ public static void printMethodPath() { //new 一个异常类 Exception exception = new Exception(); //调用者上级类名 Log.i(TAG, "Class0———>:" + exception.getStackTrace()[0].getClassName()); //调用者上级的上级类名 Log.i(TAG, "Class1———>:&q

【Python】动态获取python类名、函数名&amp;多线程

import time import random import threading import inspect def get_current_function_name(): return inspect.stack()[1][3] class Inclass: def __init__(self): print 'Inclass 初始化' def execIn(self,i): rand = int(random.random() * 10) print i,'[%s.%s]---%s-

PHP的继承方法如何获取子类名

http://blog.csdn.net/zls986992484/article/details/53154097 PHP后期静态绑定问题:例如 [php] <?php class A { function __construct() { echo __CLASS__; } static function name() { echo __CLASS__; } } class B extends A { } $objB = new B(); // 输出 A B::name();       //

AS3类和类名的判断、获取、转换等

1.is——判断对象/类是否属于某一类,返回布尔值 例:123 is Number 返回:true 例:int is Object 返回:true 2.as——判断对象/类是否属于某一类,成功返回对象本身,失败返回null 例: 123 as uint 返回:123 例:123 as string 返回:null 注:在很多情况下,类型不符时编译器会自动进行as操作 利用as,我们可以在不强转换的前提下call出代码提示 3.Class(object)——强转换,可能丢失数据,适用范围较广,失败

JAVA 获取类名,函数名

获取以下获取方法所在函数的相关信息 1.获取当前函数名:Thread.currentThread().getStackTrace()[1].getMethodName(); 2.获取当前类名:Thread.currentThread().getStackTrace()[1].getClassName(); 3.获取当前类的文件名:Thread.currentThread().getStackTrace()[1].getFileName(); 获取调用方法的所在函数的相关信息 1.获取当前函数名: