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

Указатели и конструкторы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построение таблиц идентификаторов (хеш-функции, рехеширование) http://www.cyberforum.ru/cpp-beginners/thread438884.html
построить таблицу идентификаторов методом хэш-функции, использование метода рехеширования.
C++ Программа для вычисления суммы ряда Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известна количество N членов ряда. \sum_{k-1}^{N}{e}^{kx}{\cos }^{2}kx N=10 x=2,1 http://www.cyberforum.ru/cpp-beginners/thread438874.html
C++ Перегруженные функции
Перегруженные функции Написать перегруженные функции и основную программу, которая их вызывает. а) для преобразования десятичной дроби в обыкновенную; б) для преобразования обыкновенной дроби в десятичную. Помогите с написанием кода пожалуйста,а то никак не пойму.
Программа для вычисления функции C++
Состивить программу для вычисления функции y\begin{cases}a{x}^{2}+b\sqrt{x}+c & \text{ if } x=> 5 \\ \pi \arcsin x & \text{ if } x< 5 \end{cases} a=2,3 b=4,1 c=6 Помогите пожалуйста
C++ Линейная программа http://www.cyberforum.ru/cpp-beginners/thread438860.html
Известны меньшее основание "а" равнобокой трапеции, ее высота h и острый угол альфа. Найти периметр Р и площадь S трапеции.
C++ Подсчитать количество слов в файле и... помогите пожалуйста с похожим заданием 1) Скопировать в файл F2 только те строки из F1, которые начинаются с буквы «А». 2) Подсчитать количество слов в F2. подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.02.2012, 01:18     Указатели и конструкторы
Цитата Сообщение от stawerfar Посмотреть сообщение
Не фигню делает
дык и выносите это полезное действие в отдельный метод, оператор привидения типов должен только выполнять привидение и ничего более
Цитата Сообщение от stawerfar Посмотреть сообщение
Тут Вы тоже не правы я добавлял конструктор копий , и в нём явно указывал как копировать поля класса, но ничего ни изменилось.
вашего конструктора не видно, значит его нет

Цитата Сообщение от stawerfar Посмотреть сообщение
Да и strcpy() не копирует '\0' , а если этого не делать то функция ctrcar() и strlen() работают не правильно...
Так что вот так вот.
C++
1
2
char* ptr = new char [10]; //в строке мусор
char* ptr = new char [10](); //вся строка заполнена нулями
Цитата Сообщение от stawerfar Посмотреть сообщение
может увидите что он динамически выделяет память, причем заранее я не знаю какую строку введёт пользователь(длину) Вот по этому и провожу соответствующие манипуляции.
Цитата Сообщение от stawerfar Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//конструктор содним параметром
metring::metring(char* ch_c)
{
setlocale(LC_ALL,"Russian");//разрешаю вывод Русского языка
* * * * ch_pt = new char[2];//первый раз выдиляю память под строку
* * * * ch_pt[0]='\0';//принудительное указаник конца строки
* * * * imax_fmas=1;
* * * * fmas = new float[imax_fmas];//создаём подходящий по размерам массив для чисел * 
if(strlen(ch_c)>1)
* * * * {delete []ch_pt;}//освобождаю ранее выделенную память т.к. она не достаточна для хранения новой строки 
* * * * ch_pt = new char [strlen(ch_c)+1];
* * * * ch_pt[0]='\0';//принудительное указаник конца строки
* * * * strcpy(ch_pt,ch_c);
* * * * ch_pt[strlen(ch_c)]='\0';//принудительное указаник конца строки
}
ок, здесь то зачем выделять под 2 символа, а только потом уже проверять длину(и удалять), когда можно сразу выделить под длину всей строки
 
Текущее время: 07:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru