现在我有
Private:
Struct PageManagerData
{
char name[20];
IPage* storePagePtr;
}
Run Code Online (Sandbox Code Playgroud)
我想将name初始化为类似于'\0'storePagePtr NULL但现在我无法在构造函数中访问这些值以初始化它们.我该怎么做?
我有带有函数指针的pagePtr类,如下所示
int (*FunPtr)(char*sz, unsigned int max_bytes, char* arg1, char* arg2, char* arg3,
char* arg4);//Function definition
Run Code Online (Sandbox Code Playgroud)
我在这样的构造函数中初始化它
pagePtr::pagePtr() : FunPtr(Null)
{
}
Run Code Online (Sandbox Code Playgroud)
现在我写了这样的setter,如果它是正确的我不知道
void pagePtr::setFunPtr(int(*ptr2Fun)(char*sz, unsigned int max_bytes,
char* arg1, char* arg2, char* arg3, char* arg4))
{
FunPtr = ptr2Fun;
}
Run Code Online (Sandbox Code Playgroud)
我不知道怎么写一个getter(如果我做错了就设置setter).有什么建议?
如何创建一个将创建100个不同对象的循环.假设我上课了myPage Page1.我想创建100个这样的对象,myPage比如让我们说Page1 .... Page 100我也需要在变量中保存对象名称,例如char name[10]
for(int i = 0; i<100; i++)
{
// create object with different name of my class
// char name = name of object//something like that
}
Run Code Online (Sandbox Code Playgroud)
可能吗?怎么样?
我在pagePtr.h中有这样的东西
typedef int (*FunPtrType)(char* sz, unsigned int max_bytes, char* arg1,
char* arg2, char* arg3, char* arg4);
Run Code Online (Sandbox Code Playgroud)
以及创建对象的静态函数
static pagePtr* CreatePage( FunPtrType Ptr2Fun)
{
return new pagePtr(ptr2Fun);
}
Run Code Online (Sandbox Code Playgroud)
会提升:: scoped_ptr帮助我不要担心abt删除后来创建的那些.如果是,我应该如何在这种情况下实施.如果可以的话,还有哪些更好的选项可以删除创建的对象.