С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
sinobithug
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 24
#1

Наследование функции - C++

03.05.2014, 16:43. Просмотров 217. Ответов 8
Метки нет (Все метки)

Условие: функция должна быть задана вне класса.

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
 {
    class evm
    {    protected:
         char *a;
           public:
          
  evm(const evm& src) {
    int size = strlen(src.a) + 1;
    a = new char[size];
 
    strcpy(a, src.a);
 
  }
  ~evm()  { delete []a; }
};
 
void zap (evm &a);
 
 
 
  strncpy(a, Edit5->Text.c_str(), Text.Length());
 
 FILE * ptrFile = fopen("1.txt", "w");
 
  if (ptrFile != NULL)
  {
    fputs(a, ptrFile);
    fclose (ptrFile);
  }

strncpy(a, Edit5->Text.c_str(), Text.Length());
Компилятор не видит пременную а
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 16:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование функции (C++):

Дружественные функции. Наследование. Перегрузка функции - C++
Здравствуйте, у меня проблема Не знаю куда Вставить имеющийся код(В какую строчку или строчки кода). Первый код это было 1 задание, 2-ой...

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

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

Наследование и виртуальные функции - C++
Всем привет. Может кто, пожалуйста, объяснить одну строчку из задания? Не понимаю, что именно нужно сделать. Само задание: Написать...

Виртуальные функции и наследование - C++
в общем есть исходный класс shape- фигура в которой определены 2 виртуальные функции инициализации и создания class shape { ...

Наследование. Виртуальные функции - C++
Всем привет. Недавно изучил раздел , который в названии. Вы могли бы дать задачку по выше указанной теме над которой надо хорошо подумать?

8
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.05.2014, 16:49 #2
Цитата Сообщение от sinobithug Посмотреть сообщение
strncpy(a, Edit5->Text.c_str(), Text.Length());
FILE * ptrFile = fopen("1.txt", "w");
if (ptrFile != NULL)
* {
* * fputs(a, ptrFile);
* * fclose (ptrFile);
* }
я чет не пойму, к чему относится этот код?
0
sinobithug
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 24
03.05.2014, 19:26  [ТС] #3
я чет не пойму, к чему относится этот код?

Это сама функция.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.05.2014, 19:29 #4
sinobithug, если это функция, тогда после
Цитата Сообщение от sinobithug Посмотреть сообщение
void zap (evm &a);
не должно стоять ;
и тело функции должно быть в фигурных скобках
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
void zap (evm &a)
{
    strncpy(a, Edit5->Text.c_str(), Text.Length());
 
    FILE * ptrFile = fopen("1.txt", "w");
 
    if (ptrFile != NULL)
    {
        fputs(a, ptrFile);
        fclose (ptrFile);
    }
}
0
Melg
538 / 159 / 64
Регистрация: 23.09.2013
Сообщений: 314
03.05.2014, 19:34 #5
В контексте вашего вопроса, я бы хотел еще уточнить - наследование есть парадигма объектно-ориентированного программирования, и относится к классам. Наследование позволяет либо унаследовать реализацию базового класса, либо, как минимум, интерфейс (совокупность сигнатур функций) объявленных в базовом классе. Наследование по отношению к функциям не является осмысленным употреблением термина.
0
sinobithug
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 24
03.05.2014, 21:52  [ТС] #6
В Классе evm задана переменная a.
Функция задана вне класса.
Почему-то в строке

C++
1
strncpy(a, Edit5->Text.c_str(), Text.Length());
не опознаётся переменная а.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
03.05.2014, 22:04 #7
sinobithug, потому что
Цитата Сообщение от sinobithug Посмотреть сообщение
Функция задана вне класса.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.05.2014, 22:05 #8
Цитата Сообщение от sinobithug Посмотреть сообщение
не опознаётся переменная а.
Тут видимо путаница из-за "a" как поле класса (char*), и "а" как объект (evm).
Понятно, что для вызова strncpy() это должен быть аргумент char*. Но чтобы достучаться до поля класса, в функции, не являющейся членом этого класса, либо поле должно быть public, либо функция должна быть friend.
1
sinobithug
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 24
03.05.2014, 22:49  [ТС] #9
cooller
Преподаватель сказал что функция должна быть задана вне класса.
0
03.05.2014, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 22:49
Привет! Вот еще темы с ответами:

Наследование и виртуальные функции - C++
Общая постановка. Программа должна содержать: - базовый класс Х, включающий два элемента х1, х2 типа int, - конструктор с параметрами...

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

Наследование и виртуальные функции - C++
Здравствуйте! помогите дописать программу, в которой создается иерархия классов. Включить полиморфные объекты в связанный список,...

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


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

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

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