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

Конструктор в производном классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа нахождения совершенных чисел http://www.cyberforum.ru/cpp-beginners/thread814859.html
Нужно написать программу которая выводит совершенные числа (http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE, меньшее...
C++ функция в функции y = e^x cos x как можно написать функцию в функции к примеру y = ex cos x ? http://www.cyberforum.ru/cpp-beginners/thread814857.html
C++ Наследование
Не могу понять в чем ошибка. #include <iostream> #include <string> using namespace std; class Auto { protected: string model; int speed;
Объясните почему не срабатывает И (&&) C++
Есть задача нахождения наибольшего общего делителя для двух чисел. Программу я написал.Но почему когда я указывал в цикле И (&&), цикл выполнялся неправильно, а когда указал ИЛИ (||), все заработало....
C++ Дана квадратная матрица порядка N http://www.cyberforum.ru/cpp-beginners/thread814827.html
Дана квадратная матрица порядка N переставить строки матрицы чтобы их последние елементы распологались в порядке невозрастания. Сортировка подсчётом (Помогите плиз)
C++ Даны матрица A[0;n-1][0;m-1] и массив B[0;k-1] Даны матрица А и массив В. Написать программу, которая вычисляет массив С, состоящий из элементов А, расположенных между первым и последним положительным элементами каждого столбца, если сумма этих... подробнее

Показать сообщение отдельно
Homeless coder
5 / 5 / 0
Регистрация: 17.03.2013
Сообщений: 24

Конструктор в производном классе - C++

21.03.2013, 18:38. Просмотров 447. Ответов 3
Метки (Все метки)

Всем доброго времени суток!
есть класс Строка (CStr)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class CStr
{
protected:
    int length;
    char *str;
public:
    CStr();
    CStr(const char *s);
    CStr(const char ch);
    ~CStr() {delete [] str;};
    
        int get_length()    const;
        void show()         const;
        void clear();
    
    int operator= (CStr & x);
    CStr operator+ (CStr & x);
    int operator== (CStr & x);
};
в нём есть два конструктора
1) по умолчанию
2) который принимает в качестве параметра Си-строку (char *)
C++
1
2
3
4
5
6
7
8
9
10
11
12
CStr::CStr()
{
    length = 0;
    str = new char[length+1];
    str[length] = '\0';
}
CStr::CStr(const char *s)
{
    length = (strlen(s));
    str = strcpy(new char [length+1], s);
    str[length] = '\0';
}
есть класс Десятичная строка (CDstr) в котором строку надо преобразовать в число и если есть символ отличный от цифр или '+' '-' обнулить строку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class CDstr:public CStr
{
public:
    CDstr():CStr(){};
    CDstr(const char *s):CStr(*s){};
    CDstr(const char s):CStr(s)  {};
    CDstr (CDstr &cc);
    
        int transform();
        int check();
    
    CDstr operator= (CDstr & x);
    CDstr operator- (CDstr & x);
    CDstr operator> (CDstr & x);
    CDstr operator< (CDstr & x);
};
Проблема: когда вызываю констуктор CDstr(const char *s) или CDstr(const char s), то length = 1, а символ вообще не случайный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru