Форум программистов, компьютерный форум CyberForum.ru

Способ инициализации полей класса - C++

Восстановить пароль Регистрация
 
alexsvk
8 / 8 / 1
Регистрация: 15.07.2010
Сообщений: 255
06.05.2011, 14:44     Способ инициализации полей класса #1
Добрый день!
Есть класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Date
{
public:
    Date(int y = FIRST_YEAR, int m = 1, int d = 1);
    ~Date();
 
    const Date& operator+=(const Date&);
    int operator-(const Date&);
    int operator+(const int);
    bool operator<(const Date&);
 
    static int DAYS_TILL_FIRST_OF_MONTH[];
    static int DAYS_TILL_JAN1[];
 
private:
    enum {FIRST_YEAR = 1800, MAX_YEAR = 2500};
    int totalDays;
};
в stdafx.h
C++
1
2
3
4
5
6
7
#include "Date.h"
 
int Date::DAYS_TILL_FIRST_OF_MONTH[] = 
{ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
 
int Date::DAYS_TILL_JAN1[]=
{ ... };
Загвоздка в следующем. Как проинициализировать DAYS_TILL_JAN1 [], элементы котого - кол-во дней до 1 января следующего года, начиная с 1800 до 2500 года с учётом високосности.
Массив должен быть иметь следующий вид: DAYS_TILL_JAN1 [] = {0, 365, 730,1095,1460,1826...}.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2011, 14:44     Способ инициализации полей класса
Посмотрите здесь:

Определить конструктор для инициализации полей по умолчанию C++
C++ Порядок инициализации полей в конструкторе
C++ Объявление класса после инициализации
C++ Ошибка инициализации объекта, конструктором класса
C++ Ошибка при инициализации элемента класса
Какой способ представления полей класса правильнее? C++
Принцип инициализации статических членов шаблона класса C++
Порядок инициализации членов класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru