簡體   English   中英

Class C++ 中的數字

[英]Class Digit in C++

問題:

請創建一個 class 數字表示以十為底的單個數字。

Class 數字應包含兩個構造函數,一個沒有參數並將數字設置為0,另一個有一個integer 參數並使用該參數設置數字。

創建兩個 function 成員 setDigit 和 getDigit 來設置和獲取數字 int integer 類型。 如果 setDigit 接收到不合理的參數,則應將 digit 設置為 0。

我不知道我的代碼有多么錯誤。 在線法官顯示錯誤答案。 請給我一些想法。 謝謝。

#include <limits.h>
class Digit
{
  public:
  int digit;
  Digit()
  {
    digit = 0;
  }
  Digit(int n)
  {
    digit = n;
  }
  void setDigit(int n)
  {
    if (n < INT_MIN || n > INT_MAX)
      digit = 0;
    else
      digit = n;
  }
  int getDigit() const
  {
    return digit;
  }
};

您可能想要使用 0 和 9 代替 INT_MIN (-INT_MAX - 1) 和 INT_MAX (2^31 - = 2147483647 在我的盒子上)。 如果需要,可以使用 uint8_t 代替 int。 在構造函數中也使用相同的邏輯,即從它們調用 setDigit():

Digit() {
    setDigit(0);
}

Digit(int n) {
    setDigit(n);
}

void setDigit(int n) {
    digit = (n >= 0 && n <= 9) ? n : 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM