1

基本上,类构造函数已经设置好了,并且根据之前的一些测试可以正常工作。现在我需要在 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();

};
4

0 回答 0