ホームページ >コンピューターのチュートリアル >コンピュータ知識 >C を使用して次の要件を満たす Date クラスを定義し、コンストラクターを使用して初期化を完了します。

C を使用して次の要件を満たす Date クラスを定義し、コンストラクターを使用して初期化を完了します。

PHPz
PHPz転載
2024-01-07 11:38:04939ブラウズ

1. C を使用して、次の要件を満たす Date クラスを定義し、コンストラクターを使用して初期化を完了します:

C 言語では、単純な Date クラスを定義できます。 year(年)、month(月)、day(日)のメンバー変数を含み、初期化はコンストラクターを通じて完了します。

#include <stdio.h>

// Date类的定义
typedef struct {
    int year;
    int month;
    int day;
} Date;

// 构造函数,用于初始化Date对象
Date createDate(int year, int month, int day) {
    Date d;
    d.year = year;
    d.month = month;
    d.day = day;
    return d;
}

int main() {
    // 使用构造函数初始化Date对象
    Date myDate = createDate(2022, 1, 5);

    // 输出Date对象的成员变量值
    printf("Year: %d, Month: %d, Day: %d\n", myDate.year, myDate.month, myDate.day);

    return 0;
}

このコードは Date クラスを定義し、コンストラクターとして createDate 関数を使用して Date オブジェクトを初期化します。 main 関数では、Date オブジェクトを作成し、そのメンバー変数値を出力します。

2. 日付データ型 Date を設計して、日付関連の操作を実装します:

日付データ型 Date を設計するときは、日付関連の操作を実装することを検討できます。 2 つの日付間の日数の差の計算、日付の加算と減算などの算術関数。簡単な例を次に示します。 「」パイソン クラスの日付: def __init__(自分、年、月、日): self.year = 年 self.month = 月 self.day = 日 def diff_days(自分、その他): 日 = 0 # 2 つの日付間の日数の差を計算します #...

#include <stdio.h>
#include <stdlib.h>

typedef struct {
    int year;
    int month;
    int day;
} Date;

Date createDate(int year, int month, int day) {
    Date d;
    d.year = year;
    d.month = month;
    d.day = day;
    return d;
}

// 计算两个日期之间的天数差
int daysDifference(Date date1, Date date2) {
    // 假设每个月有30天,不考虑闰年等情况
    return abs((date2.year - date1.year) * 360 + (date2.month - date1.month) * 30 + (date2.day - date1.day));
}

// 日期的加法运算
Date addDays(Date date, int days) {
    // 假设每个月有30天,不考虑闰年等情况
    date.day += days;
    while (date.day > 30) {
        date.month++;
        date.day -= 30;
        if (date.month > 12) {
            date.year++;
            date.month -= 12;
        }
    }
    return date;
}

int main() {
    Date today = createDate(2022, 1, 5);
    Date futureDate = addDays(today, 20);

    printf("Today: %d-%d-%d\n", today.year, today.month, today.day);
    printf("Future Date: %d-%d-%d\n", futureDate.year, futureDate.month, futureDate.day);
    printf("Days Difference: %d\n", daysDifference(today, futureDate));

    return 0;
}

このコードは単純な Date クラスを実装しており、2 つの日付間の日数の差を計算する関数と日付を加算する関数が含まれています。これは単なる単純な例であり、閏年や月内の日数などを考慮するには、より複雑な実装が必要になることに注意してください。

以上がC を使用して次の要件を満たす Date クラスを定義し、コンストラクターを使用して初期化を完了します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。