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

наследование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как правильно, с помощью функций сформировать массив, в чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread731097.html
Как правильно с помощью функций сформировать массив #include <iostream> using namespace std; void array_y(int ) void array_z(int ) int main() {
C++ найти ошибки в коде # include <stdio.h> # include <conio.h> int menu(int kp, char*NAZ); void main(void); int zadacha3 (int n, float *a, float *s); int zadacha3(int n, int *a, int*s); int zadacha3(int n, double *a, double*s); http://www.cyberforum.ru/cpp-beginners/thread731091.html
C++ Составить программу, осуществляющую перевод величин из радианной меры в градусную и наоборот
Составить программу, осуществляющую перевод величин из радианной меры в градусную и наоборот. Программа должна запрашивать какой перевод нужно осуществить и выполнять указанное действие..
C++ Нужно cоздать класс, результатом работы которого будет рассчет годовой выроботки одного работающего
Добрый Вечер!!! Помогите пожалуйста! Нужно cоздать класс, результатом работы которого будет рассчет годовой выроботки одного работающего Формула ГВ=Вп/Чр Вп и чр вводить должен сам Ребят помогите!
C++ блок схема http://www.cyberforum.ru/cpp-beginners/thread731084.html
помогите сделать блок схему к коду: #include <iostream.h> #include <stdio.h> int main() { struct strc{ char fio; int otc; double sb;
C++ Г.Шилдт. С учебника урок не выполняется Взялся за учебник Шилдта, всё вроде понятно, в качестве примера там приведена программа, я её написал, но вот незадача, выдаёт ошибку и одну и туже в разных строках. на фоуме к сожалению ответа не нашёл, очень надеюсь на вас #include <iostream> #include <cstring> #include <clocale> using namespace std; enum yn {no,yes};//Тип yn варианты no,yes enum color{red,yellow,green,orange};//Тип... подробнее

Показать сообщение отдельно
j_runner
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 26
14.12.2012, 19:58  [ТС]     наследование
что-то я сомневаюсь, что кто-то захочет во всех 7 файлах разбираться .. мне конечно не проблема их выложить

Добавлено через 15 минут
база сс
Кликните здесь для просмотра всего текста

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
44
45
46
47
48
49
50
51
#include <iostream>
#include <iomanip>
#include <typeinfo>
 
#include "product.h"
#include "database.h"
  Database::Database()
  { 
    for(int i = 0; i < 99; i++)
    list[i] = NULL;
 }
 Database::~Database()
 {
 int i;
 for (i=0;i<99;i++)
{
 if (list[i]!=NULL)
 {
  delete list[i];
 
  list[i]=NULL;
}
else
      {
     break;
      }
   }
}
 void Database::add_product(Product *_Product)
  {
    this->list[this->i] = _Product;
    this->i++;
  }
 
  void Database::print_all()
  {
    for(int i=0; i < this->i ; ++i)
      {
       std:: cout << "Item " << i;
        this->list[i]->print();
        
      }  
  }
  void Database::save_to_file()
  {
    
  }
  void Database::load_from_file()
 {
 
 }


база х
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <iomanip>
#include <typeinfo>
#include "product.h"
 
#ifndef __DATABASE_H_INCLUDED__
#define __DATABASE_H_INCLUDED__ 
 
class Database {
public:
   Database();
  ~Database();
  Product* list[99];
  int i;
 
 
  void add_product(Product *_Product);
 
  void print_all();
 
 
  void save_to_file();
 
  void load_from_file();
};
#endif

главная сс
Кликните здесь для просмотра всего текста

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<iomanip>
 
using namespace std;
 
#include "menu.h"
 
/* Illustrates how to build a menu froum our menu-options classes.
 */
 
int main()
{
  /* A good principle is that the one allocating memory have the
   * responsibility to free that memory.
   *
   * In this code memory is allocated (with new), but it is not
   * apparent where it is released (with delete).
   *
   * You have to make sure it is really released.
   */
 
  /* The following becomes the main menu */
  sub_menu* main_menu = new sub_menu("Warehouse Store Menu");
 
  /* This is a sub-menu with options to add products */
  sub_menu* product_menu = new sub_menu("Add product menu");
 
  /* The main menu have two options (one is a sub-menu) */
  main_menu->add_option(new print_database("Print database"));
  main_menu->add_option(product_menu);
  
  /* And three options are added to the sub-menu */
  product_menu->add_option(new add_book("Add book"));
  product_menu->add_option(new add_movie("Add movie"));
  product_menu->add_option(new add_grocery("Add grocery"));
 
  main_menu->on_select();
 
  delete main_menu;
 
  cout << endl;
  return 0;
}

меню сс

Кликните здесь для просмотра всего текста
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <iomanip>
#include <typeinfo>
#include <string>
#include <sstream>
#include "menu.h"
menu_option::menu_option
  menu_option(std::string _title):title(_title)
  {
  }   
  virtual void on_select()  
  {
  }
  std::string get_title()
  {
  return title;
  }
 
 
/********************************************************/
  menu_option::sub_menu
  menu_option* list[9];
  sub_menu(std::string _title):menu_option(_title)
  {
    i=0;
  }
    
  void add_option(sub_menu* _menu)
  {
    if(i < 9)
    {
    list[i]= _menu;     
    i++;
    }
 }   
    
   void on_select()
  {
    int n;
    cout << title << endl;
    display();
    cout << "choice option: ";
    cin >> n; 
    list[n]->on_select();
  }
  
  void display()
  {
    for(int ii=0;ii<i;ii++)
      cout << ii  << list[ii]->title << endl;  
    cout << i << "Return" <<endl;  
  }
 
 
 
 
 /*******************************************************/
    sub_menu::add_book 
    add_book(std::string _title):sub_menu(_title){}
    add_book(std::string _title, database *_base):sub_menu(_title){database=_database;}
    database *database;
    void get_title()
    {
    }
    void on_select()
    {
    cout<<"enter book information"<<endl;
    base->list[base->i] = new book(" ", 0, " ");
    base->list[base->i]->input();
    base->i++;
    }
    
  
 
 
/*****************************************************************************/
 
    sub_menu::add_movie
    add_movie(std::string _title):sub_menu(_title){}
    add_movie(std::string _title, database *_base):sub_menu(_title){database=_database;}
    database *database;
    void get_title()
    {
    }
    void on_select()
    {
    cout<<"enter movie information"<<endl;
    base->list[base->i] = new movie(" ", 0, 0);
    base->list[base->i]->input();
    base->i++;
    }
/**************************************************************************/
    sub_menu::add_grocery 
    add_grocery(std::string _title):sub_menu(_title){}
    add_grocery(std::string _title, database *_base):sub_menu(_title){database=_database;}
    database *database;
  
    void get_title() 
    {
    }
    void on_select()
    {
    cout<<"enter grocery information:"<<endl;  
    base->list[base->i] = new grocery(" ", 0, 0);
    base->list[base->i]->input();
    base->i++;
    
    cout << list[0]->title << endl;  
    }
 
/*************************************************************************/
  sub_menu::print_database
 
  print_database(std::string _title):sub_menu(_title){}
  print_database(std::string _title, database *_base):sub_menu(_title){database=_database;}
  
  database *database;
  
  void display()
  {
  }
  void on_select()
  {
  }


меню х
Кликните здесь для просмотра всего текста
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
44
45
46
47
48
49
50
51
52
53
54
#include <iomanip>
#include <iostream>
#include<string>
 
#include <database.h>
 
using namespace std;
 
class menu_option {
public:
  string title;
 
public:
  
  virtual void on_select();
  std::string get_title();
  void display();
};
/************************************************/
class sub_menu : public menu_option { 
public:
  menu_option* list[];
  int count;
  void add_option(sub_menu* _menu); 
};
 
/*************************************************/
 class add_book : public sub_menu { 
public:   
   void add_book(Book book, Database * database)
   void on_select();    
 
};
/*************************************************/
class add_movie : public sub_menu { 
public:  
void add_movie(Movie, movie, Database * database)
void on_select();  
    
};
/******************************************************/
class add_grocery: public sub_menu { 
public:   
void add_grocery(Grocery grocery, Database * database)
void on_select();     
   
};
/*******************************************************************/
class print_database : public sub_menu { 
 
  void display();
  void on_select();
    
};


продукт сс
Кликните здесь для просмотра всего текста
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <iomanip>
#include <typeinfo>
#include <string>
#include <sstream>
#include "product.h"
 
using namespace std;
 
   Product::Product(std::string _name, int _price):name(_name),price(_price) {} 
 
   void Product::print()
   
   {
   } 
   void Product::input()
   
   {
   }
   void Product::save()
   
   {
   }
   void Product::load()
   
   {
   }
 
/*********************************************************************/
 
   Book::Book(std::string _name, int _price, std::string _author):author(_author),Product(_name, _price) {} 
   string author;
   
        
   void Book::print() 
   { 
   
   std::cout << " is a book" << std::endl      
         << "Title : " << name << std::endl
         << "Author: " << author << std::endl
         << "Price : " << price << std::endl;     
   } 
   void Book::input()
   {   
    std::cout << "Title: "; 
        cin >> name;
        std::cout << "Author : ";
        cin >> author;
        std::cout << "Price: "; 
        cin >> price;
   }
 
 
   void Book::save() 
   { 
   } 
  
   void Book::load()
   { 
   }
 
 
/***************************************************************************/
 
    Grocery::Grocery(std::string _name, int _price, bool _ecologic):ecologic(_ecologic),Product(_name, _price) {} 
    bool ecologic;
   
    void Grocery::print() 
    { 
        cout << "Variety: " << name << endl;
        cout << "Ecofood: "; 
        if(ecologic==0)
        cout << "no" << endl;
        else
        cout << "yes" << endl;
        cout << "Price  : " << price << endl;   
    } 
    void Grocery::input()
    {
    cout << "Ecofood : "; 
        cin >> ecologic;
        cout << "Variety : ";
        cin >> name;
        cout << "Price: "; 
        cin >> price;
    }
 
    void Grocery::save()
    {
    }
    void Grocery::load()
    {
    }
 
/******************************************************************************/
 
Movie::Movie(std::string  _name, int _price, int _runtime):runtime(_runtime),Product(_name, _price) {} 
    int runtime;
    
    
    void Movie::print() 
    { 
        
        cout << "Title  : " << name << endl;
        cout << "Runtime: " << runtime << endl;
        cout << "Price  : " << price << endl;
        
    }
    void Movie::input()
    {
    cout << "Title : "; 
        cin >> name;
        cout << "Runtime  : ";
        cin >> runtime;
        cout << "Price: "; 
        cin >> price;
     }  
 
void Movie::save(){}
void Movie::load(){}


продукт х
Кликните здесь для просмотра всего текста
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <iomanip>
#include <string>
 
 
 
#ifndef __PRODUCT_H_INCLUDED__
#define __PRODUCT_H_INCLUDED__ 
 
class Product {
public:
Product();
Product(const Product&);
Product(std::string _name, int _price);
 
virtual ~Product();
 
int price;
std::string name;
database* database;
virtual void print();
virtual void input();
virtual void save();
virtual void load();
};
//-----------------------------------------------------//
 
 
//-----------------------------------------------------//
 
class Book: public Product{
public:
Book();
Book(std::string _name, int _price, std::string _author);
~Book();
 
 
std::string Book::name;
int Book::price;
std::string Book::author;
 
void save();
void input();
void load();
void print();
};
 
//---------------------------------------------------------//
 
 
class Grocery:public Product{
public:
Grocery();
Grocery(std::string _name, int _price, bool _ecologic);
~Grocery();
bool ecologic;
std::string name;
int price;
void print(); 
void input();  
void save();
void load();
};
 
//-------------------------------------------------------------------------------------//
class Movie: public Product{
 
public:
Movie();
Movie(std::string  _name, int _price, int _runtime);
~Movie();
int runtime;
std::string name;
int price;
void print();
void input();
void save();
void load();
};
#endif


Добавлено через 3 минуты
errori
Кликните здесь для просмотра всего текста

In file included from product.cc:6:
product.h:20: error: ISO C++ forbids declaration of ‘database’ with no type
product.h:20: error: expected ‘;’ before ‘*’ token
product.h:38: error: extra qualification ‘Book::’ on member ‘name’
product.h:39: error: extra qualification ‘Book::’ on member ‘price’
product.h:40: error: extra qualification ‘Book::’ on member ‘author’
product.h: In constructor ‘Product::Product(std::string, int)’:
product.h:19: warning: ‘Product::name’ will be initialized after
product.h:18: warning: ‘int Product:rice’
product.cc:10: warning: when initialized here
product.h: In constructor ‘Book::Book(std::string, int, std::string)’:
product.h:40: warning: ‘Book::author’ will be initialized after
product.cc:31: warning: base ‘Product’
product.cc:31: warning: when initialized here
product.cc:31: warning: ‘Book::name’ should be initialized in the member initialization list
product.cc:31: warning: ‘Book:rice’ should be initialized in the member initialization list
product.h: In constructor ‘Grocery::Grocery(std::string, int, bool)’:
product.h:56: warning: ‘Grocery::ecologic’ will be initialized after
product.cc:65: warning: base ‘Product’
product.cc:65: warning: when initialized here
product.cc:65: warning: ‘Grocery::name’ should be initialized in the member initialization list
product.cc:65: warning: ‘Grocery:rice’ should be initialized in the member initialization list
product.h: In constructor ‘Movie::Movie(std::string, int, int)’:
product.h:72: warning: ‘Movie::runtime’ will be initialized after
product.cc:97: warning: base ‘Product’
product.cc:97: warning: when initialized here
product.cc:97: warning: ‘Movie::name’ should be initialized in the member initialization list
product.cc:97: warning: ‘Movie:rice’ should be initialized in the member initialization list
In file included from main_given.cc:6:
menu.h:5: fatal error: database.h: No such file or directory
compilation terminated.


Добавлено через 16 часов 27 минут
у меня много однотипных предупреждений выдает, народ подскажите, очень нужно закончить , вроде все написано, только осталось ошибки исправить
 
Текущее время: 01:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru