我尝试制作一个程序,您可以在其中输入评论,查看评论和创建帐户。我把菜单作为一个开关声明。在大多数情况下,我需要一个“用户对象”,但它是在case1中创建的,它的范围仅在case1中。我使用了“用户指针”,所以我可以在其他情况下使用它。我有switch语句,所以它运行直到用户退出。当我在case1中添加指针并运行程序时它崩溃了。 “我的问题是,在case1中创建”用户对象“的另一种方法是所有其他情况都可以访问吗?
User *uPointr = NULL;
int: selec;
cout << " enter a selection: " ;
do{
switch(selec)
{
case 1: // creates a user
{
string name;
cout << " Enter you name ": ;
cin >> name;
User newUser(); // making an new user
addUsertoList(newUser);
*uPointer = newUser();
break;
}
case 2:
{
string message;
count << " Enter message:;
cin >> message;
uPointer.addMessage(message);
break;
}
case 3:
{
UPointer->disPlayMessage();
break;
}
case 4:
{
exit(0);
}
}
} While(1);
答案 0 :(得分:0)
而是可以使用std :: list包含指向switch外部的User对象的指针。然后您可以在案例1中插入新用户(就像您正在执行addUsertoList(newUser)),在案例2,3中修改该用户......等等。