基本上,类构造函数已经设置好了,并且根据之前的一些测试可以正常工作。现在我需要在 main 中创建一个类指针对象,将其传递给一个函数,然后在该函数内部调用另一个函数,该函数将创建一个具有特定名称的 Box 类的实例,并且当该类在范围内时打印出该框名称。
这段代码只是根据一些限制设计的,所以这就是为什么它不像它可能的那样干净或简单。我尝试了很多不同的东西,但对我来说似乎没有任何意义。我不断收到访问冲突:
void objCreateTmp(char *n)
{
//cout<<"HERE";
Box tmp(n);
cout<<"HERE";
//tmp.name_set(n);
tmp.name_print();
}
void objCreateKeep(Box *p, char *n)
{
objCreateTmp(n);
}
int main()
{
Box *pp = new Box;
objCreateKeep(pp,"Blue Box");
objCreateKeep(pp,"Red Box");
objCreateKeep(pp,"Orange Box");
system("PAUSE");
return(0);
}
编辑
好的,这里是与访问、获取、设置Box
类的名称成员有关的所有内容:
void Box::pri_setname(char *n)
{
strcpy(name,n);
}
//Set the name of Box()
void Box::name_set(char *n)
{
name = new char[30];
strcpy(name,n);
pri_setname(name);
}
class Box{
//Private data members
private:
char *name;
void pri_setname(char *n);
public:
//Public constructors and deconstructor
Box(char *);
~Box();
//Public function prototypes
void name_set(char *n);
void name_print();
};