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

Минимальные комментарии к коду - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести номер первой строки матрицы, содержащей равное количество положительных и отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread986738.html
Дана целочисленная матрица размера 5х10. Вывести номер её первой строки, содержащей равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк нет,...
C++ Запись в файл Задание: Определить максимальный элемент массива, записанного в файле. Результат записать в новый файл. Пишу такой код, однако программа записывает в файл не максимальный элемент. #include... http://www.cyberforum.ru/cpp-beginners/thread986671.html
передача указателя C++
какой способ передачи указателя наиболее быстрый? int a = 1; int *b= &a; wav.set_windows((int*) b); или int a = 1; int *b= &a;
Вычислить количество отрицательных элементов массива C++
В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать с помощью функции количество отрицательных элементов массива
C++ Read Structure From File http://www.cyberforum.ru/cpp-beginners/thread986652.html
Собственно запускаем такую программу. Файл обязательно должен быть бинарным. #include <iostream> #include <cstdlib> #include <clocale> #include "function.h" using namespace std; int main ()...
C++ создать класс Создать класс который содержит в закрытой области содержит какие либо данные, а пользователь через интерфейс этого класса может получить эти данные. подробнее

Показать сообщение отдельно
Serg22
103 / 103 / 31
Регистрация: 04.03.2013
Сообщений: 479
Завершенные тесты: 2

Минимальные комментарии к коду - C++

24.10.2013, 20:54. Просмотров 340. Ответов 1
Метки (Все метки)

Доброго времени суток помогите разобраться с примером, пожалуйста. Прокоментируйте, что делают даные класы и ф-ции.
Я начал, но не до конца разобрался
Создать 2 класса:строку String с преобразованием из char * в строку String и наооборот, и Double c преобразованием из double и наооборот, а так же взаимное преобразование String и Double
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
#include <iostream>
#include <string.h>
#include <cstdlib>
#include <stdio.h>
using namespace std;
class Float;
 
class String {
     char*  s;
     int    len;
public:
     String() : len(0) { s = new char[1]; s[0] = 0; }// ??
     String(const char* p); //конструктор преобразования
     ~String() { delete []s; } //деструктор
     String(Float d); // ??
     void print() const { cout << s << endl; }//ф-ция печати
     operator char*();     //преобразование в char
};
class Float{
        float x;
    public:
        Float(float d=0.0):x(d){} // ??
        Float(String s1){ x=atof((char*)s1);}// ?? что делает atof?
        void print() const {cout << x;}// печать
        operator float(){return x;} // что за оператор?
        Float operator=(Float d){x=d.x; return *this;} // ??
};
main(){
    Float z(7.7),q;
    z.print();
    float d= (float) z;
    d += 3.3;
    cout << endl << d << endl;
    q=z;q.print();cout << endl;
    String s1,s2("EXAMPLE");
    s2.print();
    char* l= (char*) s2;
    l[3]='\0';
    cout << l<< endl;
    String w(z);
    w.print();
    system("pause");
    return 0;
}
String::operator char*(){ // что делает даная ф-ция?
     char*  p = new char[len + 1];
     strcpy(p, s);
     return p;
}
 
String::String(const char* p){// что делает даная ф-ция?
     len = strlen(p);
     s = new char[len + 1];
     strcpy(s, p);
}
 
String::String(Float d){// что делает даная ф-ция?
     s = new char[20];
     sprintf(s,"%f",(float)d);
     len=strlen(s);
}
Добавлено через 4 часа 59 минут
up please)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru