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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
#1

Работа с объектами - C++

25.12.2012, 20:14. Просмотров 254. Ответов 1
Метки нет (Все метки)

Здравствуйте, делаю курсовую по работе с датами, их вычитанием и сложением.

Вообще в начале у меня идет процесс инициализации даты, где в конце кода создается объект
C++
1
Date* a=new Date(year1,month1,day1,hour1,min1,sec1);
Мы передаем полученные переменные в конструктор который имеет следующий код

C++
1
2
3
4
5
6
7
8
9
Date::Date(int y=0, int mon=0, int d=0, int h = 0, int m = 0, int s = 0)
{
    year=y;
    month=mon;
    day=d;
    hour=h;
    min=m;
    sec=s;
}
Далее у меня создается функция прибавления к дате указанного числа дней, месяцев и т.д.
Вопрос: как можно с конструктора взять значения этих переменных - year,month,day etc
Пробовал так:
C++
1
2
3
Date* a
int y;
y=a->year;
Вызывается ошибка, что переменная недоступна
Переменные year month,day... находятся в классе Date в private
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 20:14     Работа с объектами
Посмотрите здесь:

Работа с объектами в С++ - C++
С текстового файла считывается информация о студентах (фамилия, когда и на какой срок выдали книгу из библиотеки). Пользователь вводит...

Работа с объектами классов - C++
Всем здраствуйте. Помогите если вам не так сложно :) Вот сейчас я поясню, то что не могу сделать: В соответствии с написанной...

Работа с объектами типа string - C++
Здравия желаю!:) Возник вопрос по строкам. При таком коде#include<iostream> #include<conio.h> using namespace std; int...

Работа с объектами внутри класса. - C++
Вот два класса подскажите что здесь не так. Функция sh класса Engine должна вызвать функцию showhello класса Obj #pragma once ...

Правильное использование переменных, работа с объектами - C++
Собственно сабж. Какой способ использования переменных верный: 1) создание переменной и последующее ее многократное использование в одной...

Классы. Работа с объектами типа массив - C++
Не нашел подобной темы на форуме, да и вообще в интернете :( Создать объекты для работы с классами согласно заданию (см. ниже),...

Работа с объектами класса: вывод на консоль, подсчет суммы - C++
Здравствуйте, уважаемые программисты. Возникла проблема: 1) Не получается вывести на экран массив структур; 2) Как с помощью цикла...

Работа с объектами из разных файлов, использования указателя на текущий объект - C++
Добрый день. Очень хотел бы получить помощь по следующему вопросу. мне необходимо было принести реализацию своего алгоритма с явы на си++. ...

Работа с объектами. Код вылетает сразу после инициализации элементов массива - C++
Код вылетает сразу после инициализации элементов массива. Не могу засечь в чем проблема. Не подскажете? Буду благодарен. #include...

Действия с объектами - C++
У меня объекты класса выполняют одну и туже функцию, как можно сделать все это циклом (если возможно) ? Add_Pac.Write_Start_OL(); ...

Стек с объектами - C++
Ребят, у меня есть базовый класс и три дочерних класса. Нужно чтобы объекты доччерних хранились в стеках. Вобщем должно быть три стека=/ но...

Программа с классом и объектами!!!))) - C++
Всем привет)Помогите пожалуйста исправить программку так,что бы она была с классом и объектами!!!))) Задание: Ввести несколько строк...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
25.12.2012, 21:29     Работа с объектами #2
1) Поля объявленные в private секции класса напрямую недоступны, чтобы получить к ним доступ нужно создать какой нибудь-метод, например
C++
1
int Date::getYear () {return year;}
Метод должен быть объявлен в public секции.

2) Запись
C++
1
Date* a;
означает объявление указателя на класс Date. Соответсвующий объект при этом не создается, поля объекта не инициализируются. Для создания объекта необходимо использовать оператор new, примерно так

C++
1
2
3
Date* a = new Date(/*здесь значения параметров класса в соответствии с синтаксисом конструктора*/); 
// или 
Date *a = new Date(); // В этом случае поля объекта инициализируется значениями по умолчанию (в нашем случае это нули) //
После этого можно получить доступ к полям объекта:

C++
1
int y = a->getYear()
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru