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

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

Войти
Регистрация
Восстановить пароль
 
Chessy
7 / 7 / 1
Регистрация: 04.11.2012
Сообщений: 47
#1

Классы. Ввод данных о книге и их отображение (как улучшить код?) - C++

24.12.2012, 18:33. Просмотров 298. Ответов 6
Метки нет (Все метки)

Изучаю классы. Сделал программку для класса card имеющего 2 метода - для введения данных о книге и их отображения. Подскажите как можно улучшить код, может стоит от чего-то отказаться или сделать по другому.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <string>
using namespace std;
 
class card {
      private:
              string author;
              string zaglav;
              int numbers;
      public:
             card(){
             //author="Garrison";
             //zaglav="Rat";
             //numbers=3;
       } 
             void store(string a, string b, int x);
             void show();
};
void card :: store(string a, string b, int x)
      {
          author=a;
          zaglav=b;
          numbers=x;
       }
void card :: show()
     {
          cout << author << "\n" << zaglav << "\n" << numbers << "\n";
      }
      
int main()
{
    string a,b;
    int x;
    card book0;
    
    cout << "Input author, zaglav, numbers"<< "\n";
    cin >> a >> b >> x;
    book0.store(a,b,x);
    book0.show();
    
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 18:33     Классы. Ввод данных о книге и их отображение (как улучшить код?)
Посмотрите здесь:

Помогите улучшить простой код C++
Как улучшить код?! C++
C++ Матрица порядка N (упростить/улучшить код)
C++ Перегрузка функций - улучшить код
Как правильно заменить ввод данных простой на ввод с клавиатуры? C++
Парсер математических выражений - можно ли оптимизировать и улучшить код C++
C++ Покритикуйте и помогите улучшить код моей игры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2443 / 1615 / 236
Регистрация: 24.11.2012
Сообщений: 3,963
24.12.2012, 18:38     Классы. Ввод данных о книге и их отображение (как улучшить код?) #2
Беглый взгляд:
1. Конструктор не выполняет никакой работы. Было бы неплохо инициализировать целочисленную переменную нулем.
2. card::store: строки передавать по константной ссылке
3. Метод card::show сделать константным.
4. Названия переменных a, b, x не несут в себе никакой информации.
5. Форматирование хромает на обе ноги.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6220 / 3465 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
24.12.2012, 18:44     Классы. Ввод данных о книге и их отображение (как улучшить код?) #3
Chessy, создайте аргументированный конструктор.
И что еще за zaglav? Выбрали способ названия переменных английским языком - им и продолжайте.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2012, 18:48     Классы. Ввод данных о книге и их отображение (как улучшить код?) #4
Цитата Сообщение от Chessy Посмотреть сообщение
//author="Garrison";
* * * * * * *//zaglav="Rat";
* * * * * * *//numbers=3;
Лучше использовать список инициализации.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5818 / 1216 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
24.12.2012, 18:59     Классы. Ввод данных о книге и их отображение (как улучшить код?) #5
Можно ещё добавить копирующий конструктор и перегрузку оператора вывода.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6220 / 3465 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
24.12.2012, 20:27     Классы. Ввод данных о книге и их отображение (как улучшить код?) #6
Цитата Сообщение от Dekio Посмотреть сообщение
Можно ещё добавить копирующий конструктор и перегрузку оператора вывода.
Насчет второго согласен, а первое зачем? Работы с памятью нет же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 21:48     Классы. Ввод данных о книге и их отображение (как улучшить код?)
Еще ссылки по теме:

Как улучшить следующий код программы? Поиск всех простых чисел до 1000 C++
Нужно улучшить код C++
Как улучшить свой код и его структуру? C++
Преобразовать код так, что бы ввод данных осуществлялся из файла C++
Описать структуру с именем TIMETABLE (найти и исправить ошибки в коде, улучшить код) C++

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

Или воспользуйтесь поиском по форуму:
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5818 / 1216 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
24.12.2012, 21:48     Классы. Ввод данных о книге и их отображение (как улучшить код?) #7
Цитата Сообщение от MrGluck Посмотреть сообщение
а первое зачем?
Цитата Сообщение от Chessy Посмотреть сообщение
Изучаю классы.
ответ очевиден.
Yandex
Объявления
24.12.2012, 21:48     Классы. Ввод данных о книге и их отображение (как улучшить код?)
Ответ Создать тему
Опции темы

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