http://s30.postimg.org/oeaimxe40/mendez.jpg
这是我的代码。我有一个基本的Thread类和一个printerThread派生类。我叫这个功能。例如:
PrinterThread printer;
printer.suspend();
我有一个线程私有值,它是null,并且是一个非null的printerThread myThread私有值。我想将null值初始化为printerThread值。
除红色下划线外,图片中的所有内容都能正常工作。
请记住,我在调试开始后添加了整行,否则会出现编译错误。如何访问该printThread变量?
答案 0 :(得分:0)
您可以通过向下扩展基类来实现此目的
PrinterThread *printerThread = dynamic_cast<PrinterThread*>(this);
仅当基类是PrinterThread对象时,printerThread
才为非null。对于引入虚拟方法并在PrinterThread类中重写它可能是更好的设计。