[英]Wrong class function is being called
我有一個名為Smartphone
的 class 定義了一些變量和函數:
class Smartphone : public Computer {
int contactNum = 0;
string contacts[15];
int contactIndex = 0;
public:
void call();
void text();
void addContact();
void InitalizeContacts();
void increaseContactNum();
} MotorolaG7;
然后,我有一堆 if 語句,它們根據用戶輸入運行不同的函數:
void RunSmartPhone() {
string userAction;
cout << "What would you like to do? (Options: Install OS, Open App, Increase Disk Size, Install App, Call, Text, Add Contact)" << endl;
getline(cin, userAction);
if (userAction == "Install OS" || userAction == "install os") {
MotorolaG7.installOs();
}
if (userAction == "Open App" || userAction == "open app") {
MotorolaG7.openApp();
}
if (userAction == "Increase Disk Size" || userAction == "increase disk size") {
MotorolaG7.increaseDiskSize();
}
if (userAction == "Install App" || userAction == "install app") {
string userAppName;
cout << "Enter app name: ";
getline(cin, userAppName);
MotorolaG7.installApp(userAppName);
}
if (userAction == "Call" || "call") {
MotorolaG7.call();
}
if (userAction == "Text" || "text") {
MotorolaG7.text();
}
if (userAction == "Add Contact") {
MotorolaG7.addContact();
}
}
我的問題是,如果我說“添加聯系人”,它最終會運行呼叫 function,如果我說“文本”,它也會最終運行呼叫 function。 除了 Text 和 Add Contact if 語句之外,其他一切都運行良好,這兩個語句最終都會運行 Call function。
您的if
條件不正確,它需要是:
if (userAction == "Call" || userAction == "call") {
// ...
你在另一個if
條件下犯了同樣的錯誤。 同樣,它需要是:
if (userAction == "Text" || userAction == "text") {
// ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.