如何获取类成员函数的函数指针,然后使用特定对象调用该成员函数?我想写:
class Dog : Animal
{
Dog ();
void bark ();
}
…
Dog* pDog = new Dog ();
BarkFunction pBark = &Dog::bark;
(*pBark) (pDog);
…
Run Code Online (Sandbox Code Playgroud)
另外,如果可能的话,我也想通过指针调用构造函数:
NewAnimalFunction pNew = &Dog::Dog;
Animal* pAnimal = (*pNew)();
Run Code Online (Sandbox Code Playgroud)
这是可能的,如果是这样,那么首选的方法是什么?
我正在尝试执行以下操作:
class Animal
{
class Bear : public Animal
{
// …
};
class Giraffe : public Animal
{
// …
};
};
Run Code Online (Sandbox Code Playgroud)
...但是我的编译器似乎对此嗤之以鼻.这是合法的C++,如果没有,是否有更好的方法来完成同样的事情?基本上,我想创建一个更清晰的类命名方案.(我不想Animal从公共基类派生和内部类)
我使用netbeans 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放到项目的根目录并使用:
static Logger logger = Logger.getLogger(MyClass.class);
Run Code Online (Sandbox Code Playgroud)
在构造函数中:
PropertyConfigurator.configure("log4j.properties");
Run Code Online (Sandbox Code Playgroud)
和功能:
logger.info("...");
logger.error("...");
// ...
Run Code Online (Sandbox Code Playgroud)
但是,它是错误信息(实际上,我试图将它几乎放在我能够实现的每个目录上):
log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
at com.corp.ors.demo.OrsDemo.main(OrisDemo.java:228)
log4j:ERROR Ignoring configuration file [log4j.properties].
log4j:WARN No appenders could be found for logger (com.corp.ors.demo.OrsDemo).
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)
我想格式化邮件的内容以显示不同行的内容.这是我的消息背景.在这种情况下,\n和\ r不起作用.它只显示一行中的所有内容.
$message = 'Thank you for using . We really appreciate your business.'."\r\n".'If you are making your payment by mail, please make the check out to "blah blah" and send it to:'."\n".'blah blah '."\n".'blah blah'."\n".'San Gabriel, CA 91776'."\n".'Please see the attached invoice in PDF format for easy saving & printing purposes.';
$attachment = chunk_split(base64_encode($pdfdoc));
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol; …Run Code Online (Sandbox Code Playgroud) 在Windows(C++)应用程序中处理第二,第三等应用程序的批准方式是什么?在这种情况下,我需要运行(第一个)实例来执行一些特殊操作(弹出一个对话框),但是要终止辅助实例.
在Mac上,AppleEvents会在此方案中向您发送"重新打开"消息.Windows上的Mozilla使用DDE检查现有实例并通过命令行.感觉就像一个非常讨厌的解决方案,都是一样的.
正如标题所说.
有些人可以给我指示如何做到这一点,因为我看不出如何做.我习惯了IIS5和6.
此外,当我尝试在资源管理器中添加对文件夹的写入权限时,没有添加选项来添加用户即ASPNET帐户.
这是在Vista上
马尔科姆
哪一个更便宜:在Symbian或iPhone之上开发?热烈欢迎直接的$ -figures和上市时间.
我有一个视图UIImageView和UIImage设置.如何使用coregraphics使图像清晰或模糊?
当我的gridview填充时,我想添加一个带有一些按钮的额外列,但我似乎无法弄清楚如何,或者可能是最好的方式.谁能让我开始?
我有一个项目,我们经常使用它将Integer.parseInt()String转换为int.当出现问题时(例如,String不是数字而是字母a或其他),此方法将引发异常.但是,如果我必须在我的代码中处理各种异常,那么这很快就会变得非常难看.我想把它放在一个方法中,但是,我不知道如何返回一个干净的值,以表明转换出错了.
在C++中,我可以创建一个接受指向int的指针的方法,让方法本身返回true或false.但是,据我所知,这在Java中是不可能的.我还可以创建一个包含true/false变量和转换值的对象,但这似乎也不理想.对于全局值也是如此,这可能会给我带来一些多线程的麻烦.
那么有一个干净的方法吗?
c++ ×3
iphone ×2
java ×2
asp.net ×1
asp.net-mvc ×1
class-method ×1
cocoa-touch ×1
email ×1
format ×1
formatting ×1
glassfish ×1
gridview ×1
inheritance ×1
log4j ×1
nested-class ×1
netbeans ×1
objective-c ×1
php ×1
symbian ×1
windows ×1