Форум программистов, компьютерный форум 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); ... http://www.cyberforum.ru/cpp-beginners/thread45810.html
Программная среда для программирования на C# C++
Сегодня решил начать изучать С#, только не пойму, откуда можно скачать программную среду для программирования на C#. Есть на сайте www.microsoft.com, но там неполная версия, а для ознакомления....
Сортировка двумерного массива по столбцам C++
Всем привет! Начала изучать С++ совсем недавно, и вот столкнулась с трудностями(( задачка-то вроде несложная... но вот три дня бьюсь, не могу найти где тут косяк, прямо отчаялась уже... собстно...
C++ Отображение устройств http://www.cyberforum.ru/cpp-beginners/thread45791.html
Привет! Нужна помощь!:help: Нужно написать программу которая определяет наличие устройст (жесткие диски, приводы, флешки), и просто выводить их на экран (например Windows (C:), Локальный диск (F:)...
C++ __asm вставка Есть проблема с асм-вставкой нужно возвратить значение в регистр eax. Проблема написать аналог макроса на С++. alloc MACRO bytecount invoke GlobalAlloc,GMEM_FIXED or... подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8293 / 3513 / 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;
}
0
Миниатюры
Наследование, возврат по ссылке..  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru