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

Деструктор и наследование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять первый элемент со вторым,третий с четвертым и т.д http://www.cyberforum.ru/cpp-beginners/thread800575.html
Дан массив из четного числа элементов.Поменять первый элемент со вторым,третий с четвертым и т.д. В чём ошибка? #include<stdio.h> #define n 6 int main() { int a; int i,temp; for(i = 0; i <n; i++) scanf("%i", &a); for (i=0;i<n/2;i++)
C++ Получить 10 наиболее часто встречающихся слов из файла Дан символьный файл f, содержащий произвольный текст длиной более 50 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 10 наиболее часто встречающихся слов. http://www.cyberforum.ru/cpp-beginners/thread800551.html
Подпрограмма (функция) C++
Здравствуйте,подскажите в чем проблема понять не могу,прога с виду примитивная и простая ,но значения не верные выдает. Задание звучит так: Даны по 3 стороны для трех треугольников. Найти медианы всех сторон. Высчитываются по формуле (sqrt(2*x^2+2*y^2-z^2))/2, где x y z стороны. #include <iostream> #include <cmath> using namespace std; float function(int x,int y,int z) {return...
C++ Деление на натуральное число
Доброго времени суток! У меня, наверное, глупая проблема, но все таки хочется разобраться. Вот программа, где мне нужно найти число, взаимно обратное N. Но после компиляции С всегда равно 0, кроме того случая, когда N=1. когда вместо '/' ставлю '+' или '-' все работает.Подскажите пожалуйста в чем дело. Пишу на Bloodshed Dev-C++ 4.9.9.2 #include <iostream> using namespace std; int main() { ...
C++ Вычисление одного из углов треугольника, когда заданы значения двух других углов http://www.cyberforum.ru/cpp-beginners/thread800534.html
Написать программу вычисления одного из углов треугольника, когда заданы значения двух других углов. Рекомендуемый вид экрана во время ра-боты. >Введите исходные данные: >Угол А (град) > >Угол В (град) > >Угол С ….. (град)
C++ Файлы. Получить названия, состоящие из двойных слов В текстовом файле хранятся названия городов через запятую. Получить названия, состоящие из двойных слов, например, Нью-Йорк, Новый Орлеан, результат отсортировать в алфавитном порядке. Прошу помочь .... подробнее

Показать сообщение отдельно
anmartex
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
06.03.2013, 09:35     Деструктор и наследование
Цитата Сообщение от UnknownSmith Посмотреть сообщение
в моем варианте, объект класса создается и записывается только тогда, когда пройдет проверку CheckIdf, наверно такую проверку надо в конструкторе делать?
Так а в чём проблема? Просто вызываете дефолтный конструктор предка, а потом делаете своё дело:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
StrLIdf::StrLIdf(char* cString): StrL()
{
   if (CheckIdf(cString))
   {
      // Копируем
   }
}
 
StrLIdf::StrLIdf(const StrLIdf& copy): StrL()
{
   if (CheckIdf(copy.c_str()))
   {
      // Копируем
   }
}
А вот, чтобы не дублировать код копирования, у предка нужно было реализовать метод (пусть даже защищённый) clone или copy с типом const char*.
 
Текущее время: 21:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru