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

Оценить правильность использования конструкторов, деструкторов в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Инициализация укзателей в классе http://www.cyberforum.ru/cpp-beginners/thread660930.html
Всем привет читаю книгу Пабло Халперна "Стандарная библиотека С++ на примерах". Там, в качестве обучения читателю предлагается пройти процесс разработки и реализации некоего приложения - записной книжки с использованием STL. Вопрос касается инициализации указателей на массивы строк, и удаление их. В общем, есть некий класс, автор его реализовал примерно так (это предварительная версия -...
C++ Генерация чисел. Пуассон. Код не фурычит Доброго времени суток. Господа, кому несложно покопаться в коде, помогите понять, где тут ошибки? Программа запускается, число выборки ввожу и всё, вылетает. Я в этом деле нуб, так что буду рад самой жесткой критике. Само задание выглядит примерно так: Генерац-я псевдо чисел. Неуниверсальный метод. Пуассоновское распределение, где М=2. входная характеристика программы: объем выборки... http://www.cyberforum.ru/cpp-beginners/thread660926.html
C++ В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась
Ребят, помогите разобраться. Стоит задача создать программу со строками, string.h желательно не использовать. В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась. Вот мой код: #include <iostream> #include <stdio.h> #include <string.h> #include "stdafx.h" #include <conio.h>
Метод многих поверхностей C++
Подскажите, пожалуйста, где можно почитать о методе "многих поверхностей" (multi-surface method). С его помощью нужно будет построить сетку на области.
C++ Задача на сортировку массива методом вставки на С++ http://www.cyberforum.ru/cpp-beginners/thread660889.html
Помогите, пожалуйста, решить задачу. Отсортируйте по возрастанию методом вставки одномерный целочисленный массив, введенный с клавиатуры. Выведите на экран исходный и отсортированный массивы. (Сортировка вставками: пусть первые k элементов массива уже упорядочены по неубыванию. Берется (k+1)-й элемент и размещается среди первых k элементов так, чтобы упорядоченными оказались уже k+1 первых...
C++ Система счисления - выводится лишний ноль Добрый день! Вопрос мой состоит в следующем: Много видел уже готовых программ по переводу чисел из одной системы в другую,но захотел сделать сова алгоритм. Я использую цикл do/while, считаю лучшим вариантом(если не так поправьте, пожалуйста) Вот что получилось: a - вводимое число; b - остаток от деления; cin >> a; a = a/2; b = a%2; подробнее

Показать сообщение отдельно
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
30.09.2012, 18:23     Оценить правильность использования конструкторов, деструкторов в коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String::String(const String &s)
{
                     sizeln = s.sizeln;
                     ln = new char [sizeln];
                     
                     ln = s.ln;
                     
                     cout << "Constructor copy called!" << endl;
                     }   
String::String(char *sPtr)
{
                    sizeln = strlen(sPtr);
                    ln = new char [sizeln];
                    ln = sPtr;
                    
                    cout << "Constructor with parameters called!" << endl;
                    }
ерунда. Выделяется память под строку, но переданная строка не копируется в выделенную память, а просто производится присваивание указателю ln переданного указателя.

C++
1
2
3
4
5
6
7
8
String::String(char *sPtr)
{
                    sizeln = strlen(sPtr);
                    ln = new char [sizeln];
                    std::copy(sPtr, sPtr + sizeln, ln);
                    
                    cout << "Constructor with parameters called!" << endl;
                    }
 
Текущее время: 11:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru