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

Классы строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вернуть 1, если в двусвязном списке содержится хотя бы 2 элемента с равными значениями http://www.cyberforum.ru/cpp-beginners/thread49315.html
Задание: На языке Си написать ф-цию, возвращающую значение 1, усли в двусвязном списке содержится хотя бы 2 эл-та с равными значениями одного информационного поля.
C++ Математическая ф-ия в Borland C 3.01 Помогите пожалуйста и объясните как описать математическую ф-ию в борланде: корень из(е в степени х -1) ? http://www.cyberforum.ru/cpp-beginners/thread49238.html
подскажите новичку, пожалуйста.. C++
добрый день. заранее извиняюсь за глупый вопрос, но гугл оказался не в курсе. почему не работает код? #include <vector> int main() { struct pair{char ch1; char ch2; int count;}; vector<pair> vr(100500); return 0; }
C++ Как лучше сделать.
В общем сейчас есть такая задача. Есть спрайт (допустим 800х600) мне нужно что бы под каждую "точку" выделялся один бит. при этом что бы я мог обратися к каждому биту, имея его порядковый номер Как это лучше сделать. Спасибо. все что пока приходит в голову: char* I=new ; bool getbit(int x,int y){
C++ Выделить в массиве последовательность чисел и сравнить выделенное с константами http://www.cyberforum.ru/cpp-beginners/thread49213.html
Привет всем! Прошу помощи!:) Существует некий массив (его содержимое динамически меняется),например: unsigned char Name1 ; и константы: unsigned char Name2="abcde"; unsigned char Name3="54321"; пускай в массив записалось следующее: 1234567890abcde0987654321
C++ Ошибка, связанная с массивами Вот такой код для такой задачи: записать в массиве М количество положительных элементов каждого столбца матрицы A(K,L). #include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> int **ReadMatrixFromFile(int &K, int &L); int **CreateMatrix(const int K, const int L); void FreeMatrix(int **X, const int L); void CountPositiveElementsIn(int **X, const int K, const int L,... подробнее

Показать сообщение отдельно
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961

Классы строки - C++

03.09.2009, 21:21. Просмотров 785. Ответов 1
Метки (Все метки)

Создаю класс в котором главной переменной является динамическая строка
Проблема в том что когда я удаляю временный класс(в ф-циях операторах сложение и равно) вылетает ошибка (типа не правильно удаляю строку...)

вот заголовочный файл класса:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
class Cstring
{
    char* stroka;
    int len;
public:
    Cstring(void);
    void Find(char* str);
    Cstring operator+(Cstring obj);
    Cstring operator-(Cstring obj);
    Cstring operator=(Cstring obj);
    friend ostream &operator<<(ostream &stream, Cstring& obj);
    friend istream &operator>>(istream &stream, Cstring& obj);
    ~Cstring(void);
};
вот описание ф-ций класса
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "main.h"//
 
Cstring::Cstring(void)
{
    stroka=new char[];
    len=0;
}
 
Cstring::~Cstring(void)
{
    cout << "\tString has been destroeyd =)\n";
    delete stroka;
}
 
void Cstring::Find(char* str)
{
    cout << strcspn(Cstring::stroka,str);
//  cout << strstr(Cstring::stroka, str);
}
 
ostream &operator<<(ostream &stream, Cstring& obj)
{
    stream << "String=" << obj.stroka;
    return stream;  
}
 
istream &operator>>(istream &stream, Cstring& obj)
{
    char str[256]="\0";
    int l=0;
    cout << "Please input any string: ";
    cin >> str;
    l = strlen(str);
    obj.len = l;
    strcpy(obj.stroka, str);
    return stream;
}
 
Cstring Cstring::operator+(Cstring obj)
{
    Cstring temp;
    temp.len = this->len + obj.len;
    temp.stroka = new char[temp.len];
    temp.stroka="\0";
    strcat(temp.stroka, this->stroka);
    strcat(temp.stroka, obj.stroka);
    return temp;
}
 
Cstring Cstring::operator-(Cstring obj)
{
    Cstring temp;
    return temp;
}
 
Cstring Cstring::operator=(Cstring obj)
{
    Cstring temp;
    
    temp.stroka = obj.stroka;
    temp.len = obj.len;
    
    return temp;
}
всё! кто сможет помогите!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru