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

Конструктор в производном классе - 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, меньшее 1000. Так же кроме самих совершенных чисел необходимо написать сумму их сомножителей. Программу я написал, но почему то числа у меня вывелись больше 1000 и не все числа, которые выводятся на экран,...
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++
Есть задача нахождения наибольшего общего делителя для двух чисел. Программу я написал.Но почему когда я указывал в цикле И (&&), цикл выполнялся неправильно, а когда указал ИЛИ (||), все заработало. Объясните почему нужно ставить ИЛИ, когда по логике вроде подходит И. Заранее извиняюсь, если мой вопрос глуп #include<iostream> using namespace std; int nod (int, int); int main() {...
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. Просмотров 433. Ответов 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, а символ вообще не случайный
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru