Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
1

Ошибка при создании обьекта класса

06.05.2016, 11:18. Показов 1686. Ответов 6
Метки нет (Все метки)

Объясните пожалуйста почему нельзя создать обьект другого класса в private. В чем ошибка ?

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Goods{
 
public:
 
    Goods(string, int );
 
};
 
class Buy{
 
private:
 
    Goods goods_in_storage("Storage.txt", 3); // error: expected identifier before string constant|
                                              // error: expected ',' or '...' before string constant|
public:
 
};
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2016, 11:18
Ответы с готовыми решениями:

Ошибка при записи в файл данных из обьекта класса
#include <iostream> #include <conio.h> #include <fstream> using namespace std; class Vector...

Ошибка при создании класса
написал класс:#include<windows.h> class Hook{ public: void SetHook(){ HINSTANCE hinstDLL =...

Ошибка при создании класса
triangle.h #ifndef TRIANGLE_H #define TRIANGLE_H #include "Point.h" class Triangle {...

Ошибка при создании объекта класса
Привет! Чтобы на протяжении всего поста было понятно о чём я говорю,в конце поста прикреплю код....

6
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
06.05.2016, 11:29 2
Лучший ответ Сообщение было отмечено Bangemin как решение

Решение

все поля внутри объекта инициализируются после создания объекта...

правильней переписать ваш код так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Goods
{
public:
    Goods(std::string, int);
};
 
class Buy
{
private:
    Goods goods_in_storage = Goods("storage.txt", 3);
 
public:
    Buy () = default;
};
тут используется внутриклассовая инициализация, если ваш компилятор не поддерживает 11 стандарт, то нужно переписать программу как-то так:
C++
1
2
3
4
5
6
7
8
9
class Buy
{
private:
    Goods goods_in_storage;
 
public:
    Buy (): goods_in_storage("storage.txt", 3)
    {  }
};
1
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
06.05.2016, 11:32  [ТС] 3
Большое спасибо, за помощь
0
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
08.05.2016, 10:58  [ТС] 4
Как можно грамотно инициализировать в производном классе объект другого класса ?

Вот код:

C++
1
2
3
4
5
6
7
class Goods{
 
public:
 
    Goods(std::string, int);
 
};
C++
1
2
3
4
5
6
7
8
9
10
11
class Shop{
 
private:
 
    Goods goods_in_storage;
 
public:
 
    Shop(): goods_in_storage(".txt", 3) {}
 
};
C++
1
2
3
4
5
6
7
class Storage : public Shop{
 
public:
 
    Storage(): Shop(): goods_in_storage("Storage.txt", characteristic_count) {}// ERROR
 
};
0
29 / 29 / 18
Регистрация: 20.12.2010
Сообщений: 119
08.05.2016, 18:34 5
C++
1
2
3
4
5
6
7
class Storage : public Shop {
 
public:
 
    Storage() : Shop() {}
 
};
0
0 / 0 / 1
Регистрация: 06.11.2015
Сообщений: 99
08.05.2016, 21:29  [ТС] 6
не не то, мне нужно чтобы storage передавал storage.txt вместо .txt, или как-то так
0
29 / 29 / 18
Регистрация: 20.12.2010
Сообщений: 119
08.05.2016, 21:35 7
Лучший ответ Сообщение было отмечено Bangemin как решение

Решение

Bangemin,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Shop {
 
private:
 
    Goods goods_in_storage;
 
public:
 
    Shop() : goods_in_storage(".txt", 3) {}
    Shop(std::string s, int v): goods_in_storage(s,v) {}
 
};
 
class Storage : public Shop {
 
public:
 
    Storage() : Shop("Storage.txt", 999) {}
 
};
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2016, 21:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ошибка при создании шаблонного класса
Всем привет!!!! пытаюсь реализовать паттерн итератор для двусвязного списка но до реализации пока...

Ошибка при создании экземпляра класса
На скринах показано, где ошибка Вот код: #include <iostream> #include <string> #include...

Ошибка при создании объекта класса
Приветствую, форумчане! Возник вопрос при создании объекта класса String. Что самое интересное,...

Ошибка при создании объекта класса
Здравствуйте. В коде ниже при попытке вывести код на экран возникает следующая ошибка: prog.cpp:...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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