程序设计思想:

  1. 定义一个类MyInteger,数据域为int型的value,表示当前对象所代表的整数值。
  2. 实现构造函数MyInteger(int value),用指定的int型值创建一个MyInteger对象。
  3. 实现get函数,返回当前对象的整数值。
  4. 实现isEven()、isOdd()和isPrime()函数,根据当前对象的整数值分别返回真或假。
  5. 实现静态函数isEven(int)、isOdd(int)和isPrime(int),根据给定整数值分别返回真或假。
  6. 实现静态函数isEven(const MyInteger&)、isOdd(const MyInteger&)和isPrime(const MyInteger&),根据给定对象所代表的整数值分别返回真或假。
  7. 实现只读函数equals(int)和equals(const MyInteger&),判断当前对象所代表的整数值是否等于给定值,返回真或假。
  8. 实现静态函数parseInt(const string&),将一个字符串转换为一个int型值。

实现代码如下:

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

class MyInteger
{
public:
    MyInteger(int value) // 构造函数
    {
        this->value = value;
    }

    int get() const // 返回当前对象的整数值
    {
        return value;
    }

    bool isEven() const // 判断当前对象的整数值是否为偶数
    {
        return value % 2 == 0;
    }

    bool isOdd() const // 判断当前对象的整数值是否为奇数
    {
        return value % 2 != 0;
    }

    bool isPrime() const // 判断当前对象的整数值是否为素数
    {
        if (value <= 1)
        {
            return false;
        }
        for (int i = 2; i <= sqrt(value); i++)
        {
            if (value % i == 0)
            {
                return false;
            }
        }
        return true;
    }

    static bool isEven(int value) // 判断给定整数值是否为偶数
    {
        return value % 2 == 0;
    }

    static bool isOdd(int value) // 判断给定整数值是否为奇数
    {
        return value % 2 != 0;
    }

    static bool isPrime(int value) // 判断给定整数值是否为素数
    {
        if (value <= 1)
        {
            return false;
        }
        for (int i = 2; i <= sqrt(value); i++)
        {
            if (value % i == 0)
            {
                return false;
            }
        }
        return true;
    }

    static bool isEven(const MyInteger& obj) // 判断给定对象的整数值是否为偶数
    {
        return obj.isEven();
    }

    static bool isOdd(const MyInteger& obj) // 判断给定对象的整数值是否为奇数
    {
        return obj.isOdd();
    }

    static bool isPrime(const MyInteger& obj) // 判断给定对象的整数值是否为素数
    {
        return obj.isPrime();
    }

    bool equals(int value) const // 判断当前对象的整数值是否等于给定值
    {
        return this->value == value;
    }

    bool equals(const MyInteger& obj) const // 判断当前对象的整数值是否等于给定对象的整数值
    {
        return this->value == obj.value;
    }

    static int parseInt(const string& str) // 将字符串转换为整数值
    {
        int value = 0;
        for (char c : str)
        {
            if (isdigit(c))
            {
                value = value * 10 + (c - '0');
            }
        }
        return value;
    }

private:
    int value; // 当前对象所代表的整数值
};

int main()
{
    MyInteger num1(5);
    cout << "num1 = " << num1.get() << endl;
    cout << "isEven(num1) = " << MyInteger::isEven(num1) << endl;
    cout << "isOdd(num1) = " << MyInteger::isOdd(num1) << endl;
    cout << "isPrime(num1) = " << MyInteger::isPrime(num1) << endl;

    MyInteger num2(6);
    cout << "num2 = " << num2.get() << endl;
    cout << "isEven(num2) = " << MyInteger::isEven(num2) << endl;
    cout << "isOdd(num2) = " << MyInteger::isOdd(num2) << endl;
    cout << "isPrime(num2) = " << MyInteger::isPrime(num2) << endl;

    cout << "num1 equals 5? " << num1.equals(5) << endl;
    cout << "num1 equals num2? " << num1.equals(num2) << endl;

    string str = "12345";
    int value = MyInteger::parseInt(str);
    cout << "parseInt(\"" << str << "\") = " << value << endl;

    return 0;
}
c++设计一个名为MyInteger的类类包含: 	一个名为value的int型数据域保存此对象表示的int型值。 	一个用指定的int型值创建一个MyInteger对象的构造函数。 	一个返回int型值的get函数。 	只读函数isEven、isOdd和isPrime分别在整数为偶数、奇数或素数的情况下返回真。 	静态函数isEvenint、isOddint以及isPrimeint分别

原文地址: http://www.cveoy.top/t/topic/bBDf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录