Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.04.2009, 19:53   #11
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от prikolist Посмотреть сообщение
Можно же и без структуры обойтись, просто мне кажется,что её использование не имеет смысла.
Ну никто и не заставляет использовать структуры. Напишите аналог данного кода без структур, может поймете зачем они нужны
Код:
struct Student
{
  int Number;
  string FirstName;
  string MiddleName;
  string LastName;
  int Group;
  DATE Birthday;
};
// Вывод в консоль информации о студенте
void PrintStudent(Student &student)
{
  cout << student.Number << endl;
  cout << student.FirstName << endl;
  ...
}

int main()
{
  Student students[10];
  // Тут заполнение данных об этих 10 студентах
  ...
  // И вывод на экран
  for (int i = 0; i < 10; ++i)
  {
    PrintStudent(students[i]);
  }
}
pu4koff вне форума
Старый 15.04.2009, 20:06   #12
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

2Pashan
Вы уверены в своих словах насчет того, что в структурах не может быть функций? Класс отличается от структуры только тем, что у него есть модификаторы доступа public, private и protected. Которые позволяют скрыть данные.
А у структур все поля с модификаторами public. Наследовать структуры тоже можно. И виртуальные методы у них тоже есть. Так что если не знаете лучше не говорите.
MaTBeu вне форума
Старый 15.04.2009, 20:23   #13
Pashan
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 89
По умолчанию

MaTBeu,
Цитата:
Вы уверены в своих словах насчет того, что в структурах не может быть функций? Класс отличается от структуры только тем, что у него есть модификаторы доступа public, private и protected. Которые позволяют скрыть данные.
Вы невнимательно прочитали мое сообщение. В современном С++ разницы между структурами и классами вообще нет.Между прочим, в структуре тоже можно private и protected поля и методы делать. Разница только в том, что в классах по умолчанию ставится private, а в структурах public.

Я говорил про выписку из википедии, где говорилось не про С++, а абстрактно про языки программирования. А вовсе не во всех языках в структурах можно писать функции. В паскале, например, нельзя. Из комбинации данных и методов родилось понятие класса, корое обычно и используется в этом смысле.
Pashan вне форума
Старый 15.04.2009, 21:44   #14
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Лично я считаю что структуры предназначенны чтобы не писать слишком большой код. Согласитесь что легче один раз написать структуру и потом ее использовать в различных функциях(особенно если понадобится вызывать ее каждый раз(вы же не будете каждый раз создавать массив))

Например:

Код:
#ifndef _STRUCT_H
#define _STRUCT_H
class MyStruct{
  char name[10];
  char Family[40];
  char addres[5];
#endif
Согласись что проще будет создать структуру а затем ее обьявить, включив, скажем, следующую структуру:
Код:
#include "struct.h"

Последний раз редактировалось vasek123; 15.04.2009 в 21:46.
vasek123 вне форума
Старый 15.04.2009, 23:58   #15
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Pashan Посмотреть сообщение
MaTBeu,
Вы невнимательно прочитали мое сообщение. В современном С++ разницы между структурами и классами вообще нет.Между прочим, в структуре тоже можно private и protected поля и методы делать. Разница только в том, что в классах по умолчанию ставится private, а в структурах public.

Я говорил про выписку из википедии, где говорилось не про С++, а абстрактно про языки программирования. А вовсе не во всех языках в структурах можно писать функции. В паскале, например, нельзя. Из комбинации данных и методов родилось понятие класса, корое обычно и используется в этом смысле.
Все верно. В Википедии не точная формулировка.
В том-же Си, например, в структуре можно хранить только данные, а понятия класса там вообще нет.
Так что, на мой взгляд, более точная формулировка: "Структура - конструкция, позволяющая объединить в себе данные (переменные) разных типов"

Цитата:
Сообщение от vasek123 Посмотреть сообщение
Лично я считаю что структуры предназначенны чтобы не писать слишком большой код. Согласитесь что легче один раз написать структуру и потом ее использовать в различных функциях(особенно если понадобится вызывать ее каждый раз(вы же не будете каждый раз создавать массив))
Полную ерунду вы написали.



Вообще, любую задачу можно решить и без использования структур. Но их использование во многих моментах позволяет упростить разработку программы, и сделать код более "элегантным". Но пока вы не поймете, "зачем все-таки оно надо" лучше их и не использовать.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 16.04.2009, 00:19   #16
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Blade Посмотреть сообщение
Вообще, любую задачу можно решить и без использования структур. Но их использование во многих моментах позволяет упростить разработку программы, и сделать код более "элегантным".
Согласен, просто, иной раз лучше всего использовать структуру.

Цитата:
Но пока вы не поймете, "зачем все-таки оно надо" лучше их и не использовать.
Я, как раз, прекрасно понимаю- сегодня сдал сессию по теме "производные типы данных" в "Универе" на отлично...
vasek123 вне форума
Старый 16.04.2009, 00:32   #17
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от vasek123 Посмотреть сообщение
Я, как раз, прекрасно понимаю- сегодня сдал сессию по теме "производные типы данных" в "Универе" на отлично...
Во-первых мое высказывание было адресовано не вам, а ТС.
Во-вторых, какая разница что там вы и на сколько сдали? Оценка в институте совсем не показатель истинных знаний и умения их применять на практике. И то, что вы написали постом выше - лишнее тому доказательство.
З.Ы. Найдите правильное значение слова "сессия"
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 16.04.2009, 15:36   #18
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Тема закрыта. Оффтоп.
MaTBeu вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего код в классе ? Evgenijj Общие вопросы C/C++ 3 09.03.2009 14:12
Для чего придумали TDataSource (Access)? JY_ БД в Delphi 1 28.10.2008 14:28
Для чего нужен мобильник? Altera Свободное общение 53 19.08.2008 21:12
Использование typedef с vector <type> kezman Общие вопросы C/C++ 2 19.07.2008 21:17
Для чего вы программируете? Elefanter Свободное общение 14 17.02.2008 21:54