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

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

Войти
Регистрация
Восстановить пароль
 
Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 171
#1

Не знаю как исправить ошыбку в коде - C++

31.10.2013, 01:12. Просмотров 339. Ответов 3
Метки нет (Все метки)

Ошыбка, наверное, в том что я в классе roslunu описываю ф-ию get_name, где пам'ять под name выделена динамически, а в следующих классах статически. Мне об'язательно нужно использовать char.Ребята, помогите пожалуйста, буду очень благодарна. Я в тупике. На фотке ошыбка которую мне выбивает компилятор.

Описание класса
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
#ifndef flower_h_
#define flower_h_
 
 
#include<iostream>
#include <string>
using namespace std;
 
class roslunu
{public:
    char*name;
    roslunu()
    {
        name=new char[12];
        strcpy(name,"Rose");
    }
virtual ~roslunu(){delete name;}
virtual void get_name(){cout<<"Name "<<name;}
 
};
 
 
class flower:public roslunu
{public:
char*color;
flower(char*d="Red"){color=new char[12]; color=d;}
virtual ~flower(){delete color;}
void get_name(){strcpy(name,"Margarite"); cout<<"\nName "<<name;};
 
};
 
class number_stebel:public flower
{public:
    int number_steb;
    number_stebel(){ number_steb=2;}
void get_name(){strcpy(name,"Aister"); cout<<"\nName "<<name;}
 
};
 
class number_lustkiv:protected flower
{public:
    int number_lust;
    number_lustkiv(){number_lust=4;}
};
 
 
#endif
main
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
#include "flower.h"
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cctype>
FILE*uf;
 
using namespace std;
 
void main()
{
roslunu a_1; roslunu* a_1r;
flower a_2; 
number_stebel a_3; 
number_lustkiv a_4;
cout<<" Name:"<<a_1.name<<endl;
cout<<" Name:"<<a_2.name<<" Color:"<<a_2.color<<endl;
cout<<" Name:"<<a_3.name<<" Color:"<<a_3.color<<" K-st stebel: "<<a_3.number_steb<<endl;
cout<<" K-st lustkiv: "<<a_4.number_lust<<endl;
 
cout<<" Robota polimorfizmy\n";
a_1r=&a_1;
a_1r->get_name();
a_1r=&a_2;
a_1r->get_name();
a_1r=&a_3;
a_1r->get_name();
 
cout<<endl;
 
}
Миниатюры
Не знаю как исправить ошыбку в коде  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 01:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не знаю как исправить ошыбку в коде (C++):

Не знаю как исправить ошыбку в коде - C++
Выбивает вот-это error C2679: бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;flower (__cdecl *)(void)&quot; (или приемлемое...

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

Не знаю как исправить ошибку - C++
Всем привет! В общем делал задание на перегрузку операторов, вот код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...

Ошибка, не знаю как исправить - C++
Добрый вечер всем!! У меня возник небольшой вопрос по поводу моей программы... Мне необходимо протестировать различные методы...

Не знаю как исправить ошибку - C++
при выводе всего списка не выдает верную информацию. Не могу понять что не так, помогите. Заранее спасибо. #include &lt;stdio.h&gt; ...

Много ошибок и не знаю , как исправить - C++
Вот они &lt; для вложений используйте встроенные возможности форума /&gt; , а вот сам код программы. Объясните в чём проблема и , как её...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.10.2013, 01:58 #2
C++
1
2
3
4
5
6
7
8
class flower:public roslunu
{public:
char*color;
flower(char*d = "Red"){color = new char[12]; strcpy(color, d);}
virtual ~flower(){delete color;}
void get_name(){strcpy(name,"Margarite"); cout<<"\nName "<<name;};
 
};
Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 171
31.10.2013, 02:02  [ТС] #3
Спасибо
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
31.10.2013, 02:36 #4
тут UB, память выделяете new[], а очищаете delete. Надо delete[]
Цитата Сообщение от Оксана 1234 Посмотреть сообщение
исправить ошыбку в коде
надо бы хоть в заголовке ошибку исправить. Жи-ши ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 02:36
Привет! Вот еще темы с ответами:

Error LNK2019 не знаю как исправить - C++
Всем привет! Решаю уравнение Фредгольма второго рода методом Галеркина. Если рассматривать вещественнозначный случай, то все работает...

Не знаю как исправить ошибку в программе - C++
Добрый день. Вот код программы: #pragma argsused #include &lt;iostream.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; void insert (int...

Работа со структурой, не знаю как исправить - C++
помогите пожалуйста есть структура и массив структуры надо данные массива передать в функцию помогите исправить ошибки, в работе со...

Конфликты хейдеров,не знаю как исправить - C++
Помоги плз,почитал в интернете,пишут,что конфликт хейдеров. Вот какие ошибки выдает k:\курсовой проект\курсовой проект\vd.h(1): error...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.10.2013, 02:36
Ответ Создать тему
Опции темы

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