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

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

Восстановить пароль Регистрация
 
Chessy
7 / 7 / 1
Регистрация: 04.11.2012
Сообщений: 47
24.12.2012, 18:33     Классы. Ввод данных о книге и их отображение (как улучшить код?) #1
Изучаю классы. Сделал программку для класса 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++
C++ Матрица порядка N (упростить/улучшить код)
C++ Перегрузка функций - улучшить код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
24.12.2012, 18:38     Классы. Ввод данных о книге и их отображение (как улучшить код?) #2
Беглый взгляд:
1. Конструктор не выполняет никакой работы. Было бы неплохо инициализировать целочисленную переменную нулем.
2. card::store: строки передавать по константной ссылке
3. Метод card::show сделать константным.
4. Названия переменных a, b, x не несут в себе никакой информации.
5. Форматирование хромает на обе ноги.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
24.12.2012, 18:44     Классы. Ввод данных о книге и их отображение (как улучшить код?) #3
Chessy, создайте аргументированный конструктор.
И что еще за zaglav? Выбрали способ названия переменных английским языком - им и продолжайте.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2012, 18:48     Классы. Ввод данных о книге и их отображение (как улучшить код?) #4
Цитата Сообщение от Chessy Посмотреть сообщение
//author="Garrison";
* * * * * * *//zaglav="Rat";
* * * * * * *//numbers=3;
Лучше использовать список инициализации.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
24.12.2012, 18:59     Классы. Ввод данных о книге и их отображение (как улучшить код?) #5
Можно ещё добавить копирующий конструктор и перегрузку оператора вывода.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
24.12.2012, 20:27     Классы. Ввод данных о книге и их отображение (как улучшить код?) #6
Цитата Сообщение от Dekio Посмотреть сообщение
Можно ещё добавить копирующий конструктор и перегрузку оператора вывода.
Насчет второго согласен, а первое зачем? Работы с памятью нет же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 21:48     Классы. Ввод данных о книге и их отображение (как улучшить код?)
Еще ссылки по теме:

Как правильно заменить ввод данных простой на ввод с клавиатуры? C++
Парсер математических выражений - можно ли оптимизировать и улучшить код C++
C++ Подскажите, как добавить проверку на ввод букв? код внутри

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

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

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