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

Наследование, возврат по ссылке.. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посоветуйте IDE для начинающего http://www.cyberforum.ru/cpp-beginners/thread45843.html
Доброго времени суток! Я только начинаю работать с С++, посоветуйте, пожалуйста, какие программы лучше использовать, включая все последние версии (то есть не в духе "новичку и это сойдет":)), чтобы я был так сказать, "вооружен до зубов":) Также посоветуйте с какой книги лучше начать. Всем буду благодарен за советы! :)
C++ Чтение длинных целых Помогите, пожалуйста, правильно организовать ввод длинных целых как строк. При коде #include "stdafx.h" #include <iostream> #define I(x) char*x=new char; //#define L(s,r) for(r=0;s!='\0';++r); int main() { I(x); I(y); I(z); //char a,b,c,*u,d; http://www.cyberforum.ru/cpp-beginners/thread45810.html
Программная среда для программирования на C# C++
Сегодня решил начать изучать С#, только не пойму, откуда можно скачать программную среду для программирования на C#. Есть на сайте www.microsoft.com, но там неполная версия, а для ознакомления. Скажите, пожалуйста, где можно скачать эту программную среду для C#?
Сортировка двумерного массива по столбцам C++
Всем привет! Начала изучать С++ совсем недавно, и вот столкнулась с трудностями(( задачка-то вроде несложная... но вот три дня бьюсь, не могу найти где тут косяк, прямо отчаялась уже... собстно условие: назовем характеристикой столбца сумму его нечетных отрицательных элементов. переставить столбцы в соответствии с характеристиками. вот что у меня вышло: #include <stdlib.h> #include...
C++ Отображение устройств http://www.cyberforum.ru/cpp-beginners/thread45791.html
Привет! Нужна помощь!:help: Нужно написать программу которая определяет наличие устройст (жесткие диски, приводы, флешки), и просто выводить их на экран (например Windows (C:), Локальный диск (F:) и т.д.). И если вытащить флешку, программа должна сразу же это отобразить.
C++ __asm вставка Есть проблема с асм-вставкой нужно возвратить значение в регистр eax. Проблема написать аналог макроса на С++. alloc MACRO bytecount invoke GlobalAlloc,GMEM_FIXED or GMEM_ZEROINIT,bytecount EXITM <eax> ENDM free MACRO hmemory подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.08.2009, 18:43
По моему все работает.

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "stdafx.h"
#include <iostream> 
using namespace std;
 
class String //базовый класс 
{ 
protected:  
    enum {SZ = 255 }; //размер всех объектов String 
    char str [SZ]; //содержит С-строку 
public: 
    String() //конструктор без аргументов 
    {
        str [0] ='\0';
    } 
    String(char* s) //конструктор c одинм аргументом
    {
        strcpy(str,s);
    } 
    void display()const //вывести String 
    {
        cout << str;
    } 
    operator char*() //функция преобразования 
    {
        return str;
    } //преобразовать String в C-string 
};
 
class Pstring :public String //порожденный класс 
{ 
public: 
    Pstring():String()
    {}
    Pstring(char* s);
};
 
Pstring::Pstring(char* s) //конструктор для Pstring 
{ 
    int n;
    n = ((strlen(s) > SZ-1) ? SZ-1 : strlen(s));
    strncpy(str,s,n);
    str[n] = '\0';
}
 
class Pstring2 : public Pstring
{
public:
    Pstring2():Pstring()
    {}
    Pstring2(char* s):Pstring(s)
    {}
    Pstring2& left(Pstring2 s1,int n);
    Pstring2& mid(Pstring2 s1,int s,int n);
    Pstring2& right(Pstring2 s1,int n);
    void display()
    {
        Pstring::display();
    }
    operator char*()
    {
        return str;
    }
};
Pstring2& Pstring2::left(Pstring2 s1, int n)
{
    for(int i = 0;i < n;i++)
        str[i] = s1.str[i];
    return *this;
}
int main()
{
    setlocale (LC_ALL, "Russian");
    Pstring2 s1 = "Это очень-очень длинная строка, которая, возможно,да, нет. точно, - превысит размер, ограниченный SZ";
    Pstring2 s3 = "Метод left";
    s1.display();
    cout<<"\n\n";
    Pstring2 s2 = s1.left(s3, 10);
    s2.display();
    cout<<"\n\n";
    system("pause");
    return 0;
}
Миниатюры
Наследование, возврат по ссылке..  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru