回 帖 发 新 帖 刷新版面

主题:谁能帮我看看这几句怎么理解!谢谢了!

class A: public B
{
public:XX(A);//问题一

其中XX是宏定义的
#define XX(cl) static C * Create(D * c){ return new cl(c); }//问题二
问题一
类名字作为函数的参数应该怎么理解?
问题二
这句话看不懂能否解释下?返回是个cl(c)是个那个对象的函数地址!模糊.

回复列表 (共1个回复)

沙发

问题一
这里是宏的参数
问题二
宏替换后
class A: public B
{
public:
    static C * Create(D * c){ return new A(c); }
...
静态,参数为类D指针,返回值为类C指针的函数Create
函数内动态创建类A对象,对象地址转为类C指针返回

我来回复

您尚未登录,请登录后再回复。点此登录或注册