Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24

Ошибка при наследовании?

12.08.2013, 19:19. Показов 1025. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа компилируется, но консоль не выдает информацию. Связано ли это как то с переполнением буфера?
Программа небольшая укажите пожалуйста на ошибку. Заранее спасибо.

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
#include <iostream>
#include <locale>
#include <string>
using namespace std; 
///////////////////////////////////////////////////////////
class String
{ 
protected: 
    static const int SZ = 80;  // максимальный размер строки
    char str[SZ];    // сама строка
public: 
    String()   // конструктор без параметров
     { str[0] = '\0'; }
    String(char s[])  // конструктор с одним параметром
     { strcpy(str, s); }
    void display()  // показ строки
     { cout << str; }
    operator char*()   // функция преобразования
      { return str; }   // преобразовать String в C-string
};
 
class Pstring : public String
{
public:
    Pstring(): String()
    { }
    Pstring(char s[])
    {  int j;
       if(strlen(s) > SZ - 1) 
        {for(j = 0; j = SZ - 1; j++)
         str[j] = s[j];
       str[j] = '\0';}
       else 
        String(s);
    }
};
///////////////////////////////////////////////////////////
int main()
{ setlocale(LC_ALL,"RUS");
Pstring p = "Эта строка имеет очень большую длину и мы можем быть уверены, что она не уместится в отведенный буфер, что приведет к непредсказуемым последствиям.";
cout << "\np = "; p.display();
 
system("pause");
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2013, 19:19
Ответы с готовыми решениями:

Ошибка при наследовании
Здраствуйте,не могу понять где именно оштбся,возможно кто-то поможет,код прилагаю //#include &quot;stdafx.h&quot; #include...

Ошибка при наследовании
Привет! Ни как не могу разобраться, в чём дело. Создал 2 класса: Base и Derived, где Derived наследует Base. Но при компиляции возникает...

Ошибка при наследовании
Имеется архитектура вида: класс &quot;человек&quot;, от него производные &quot;препод&quot; и &quot;член приемной комиссии&quot;. От их двоих производный класс...

10
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.08.2013, 19:27
Цитата Сообщение от Nazgul94 Посмотреть сообщение
C++
1
for(j = 0; j = SZ - 1; j++)
бесконечный цикл
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.08.2013, 19:28
Это что за условие в цикле?
C++
1
{for(j = 0; j = SZ - 1; j++)
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
12.08.2013, 20:28
Цитата Сообщение от Nazgul94 Посмотреть сообщение
C++
1
2
else 
     String(s);
что это за попытка явного вызова конструктора?

Добавлено через 5 минут
Nazgul94, ты понимаешь, какое действие производит эта строчка?
0
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24
12.08.2013, 21:10  [ТС]
мда...иногда поражаюсь какой я тупой...спс всем

Добавлено через 1 минуту
Kuzia domovenok, вызывается конструктор родительского класса
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.08.2013, 21:14
Цитата Сообщение от Nazgul94 Посмотреть сообщение
вызывается конструктор родительского класса
Для какого объекта?
0
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24
12.08.2013, 21:21  [ТС]
для обьекта "p" класса Pstring
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.08.2013, 21:46
Цитата Сообщение от Nazgul94 Посмотреть сообщение
для обьекта "p" класса Pstring
Если для объекта p, то только в списке инициализаторов можно такое делать.
0
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24
12.08.2013, 22:34  [ТС]
ммм.... и в правду не работает, когда строка меньше 80 символов.... хотя в Лафоре именно так и сказано делать
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.08.2013, 03:11
Цитата Сообщение от Nazgul94 Посмотреть сообщение
хотя в Лафоре именно так и сказано делать
Название книги и страницу.
0
1 / 1 / 0
Регистрация: 22.11.2012
Сообщений: 24
13.08.2013, 09:05  [ТС]
"ООП в С++" Лафоре стр. 874
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2013, 09:05
Помогаю со студенческими работами здесь

Ошибка при наследовании
Вот такой код: class Figure2 { protected: int Color; int CenterX; int CenterY; public:

Ошибка при наследовании
Подскажите пожалуйста почему наследование класса readwrite не работает? //Программа считывает данные из файла и строит графики ...

Использование шаблонов при наследовании, ошибка при компиляции
При изучении списков написал шаблон протестировал, все работает. После написал класс наследник от шаблона List.h, компилятор выдает...

Ошибка при наследовании класса
Всем доброго времени суток, пытаюсь отнаследовать класс, вот такой код я смастерил: #ifndef CLASS_H_ #define CLASS_H_ class stack ...

Ошибка компиляции при наследовании классов
У меня есть класс CNew который наследует класс CTransport но при компиляции выводит ошибку ниже 4 раза для 2 строки файла CNew.h .Мне не...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru