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

Класс со значением полей "по умолчанию" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Спрашиваю совет по стилю написания кода http://www.cyberforum.ru/cpp-beginners/thread1004181.html
#include <vector> #include <string> class Errors { private: size_t i; //Глобальный счетчик циклов. std::string exp; //Входящая строка.
C++ Количество треугольников и сумма их периметров При заданных А1,...Аn, В1,...Bn, C1,...Cn, для каждой из n троек вида (Ai, Bi, Ci) проверить может ли быть построен треугольник со сторонами Ai, Bi, Ci при этом посчитать число треугольников и сумму... http://www.cyberforum.ru/cpp-beginners/thread1004175.html
Вывод количества вершин(узлов) на заданном уровне C++
Напишите пожалуйста прогу которая будет выводить количество вершин(узлов) на уровне который вводим с клавиатуры
C++ Как сделать нумерацию массива
есть код программы: #include <iostream> #include <conio.h> using namespace std; void pch (int i) // Ввод функци pch { cout <<"Vvedite masiv"<<i;// вывести на экран "Введите массив"...
C++ Декартово произведение http://www.cyberforum.ru/cpp-beginners/thread1004163.html
Помогите пожалуйста написать программу для вывода декартового произведения двух и более множеств. Немного написал кода, непосредственно само заполнение множеств, а вот как вывести в виде...
C++ Бинарные файлы В файле содержатся числа. Сформировать из них матрицу, содержащую пять элементов в строке. Лишние числа отбросить. Вывести на печать матрицу в общепринятом виде и посчитать сумму элементов,... подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
11.11.2013, 12:25
Либо используйте класс string как вам указали выше. Ну если не ймется вычисляйте длину строки при инициализации.
Не правильно перегружаете операторы копирования и присвоения. Обязательно нужно освобождать занятую память и выделять новую. Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TStudent::TStudent (TStudent& Student)
{
    delete [] LastName ; 
    delete [] FirstName;
    delete [] Patronimyc;
    delete [] Group;
    
    LastName    = new char[strlen(Student.LastName) + 1]; 
    FirstName   = new char[strlen(Student.FirstName) + 1]; 
    Patronimyc  = new char[strlen(Student.Patronimyc) + 1]; 
    Group       = new char[strlen(Student.Group) + 1]; 
   
    strcpy(LastName, Student.LastName);
    strcpy(FirstName, Student.FirstName);
    strcpy(Patronimyc, Student.Patronimyc);
    strcpy(Group, Student.Group);
    Born = Student.Born;
}
Боюсь только ошибиться с нулевым символом. Не помню ставится ли он ф-й strcpy. Это уж сами проверьте и допишите.
Аналогично для присвоения.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru