Помогите! -wall-
Что то не компилируется программка на С++.
Вот задание и код:
// Разработать класс для представления объекта строка. Определить конструктор
// с одним параметром целого типа ? длина строки, который можно использовать
// как конструктор умолчания. Определить конструктор, который копирует в
// новую строку n первых символов другой строки и который можно использовать
// как конструктор копирования. Определить деструктор. Определить
// преобразования из вещественного числа в строку, представляющую это число,
// и из строки в вещественное число.
//-----------------------------------------------------------------------------
#include <stdio.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
using namespace std;
class Str
{
private:
enum {MAX = 20};
int l;
char Str[MAX];
public:
// Конструкторы:
Str(int ln = 5, char ch=5); // Умолчание
Str(const Str& , int n = 3); // Копирование
explicit Str(double); // Преобразование
// Деструктор:
~Str();
// Методы:
void show() const; // Вывод на экран
double Str_to_double(); // Преобразование типа double
};
// Деструктор:
Str::~Str() { cout << "Destructed\n"; }
// Конструктор умолчания:
Str::Str(int ln, char ch)
{
int i;
l = ln;
for (i=0; i < ln; i++) Str = ch;
}
// Конструктор копирования:
Str::Str(const Str& m , int n)
{
int i;
l = m.l;
for (i=0; i < n; i++) Str = m.Str;
}
// Конструктор преобразования:
Str::Str(double x)
{
int i;
l = 4;
for (i=0; i < l; i++) Str = x;
}
// Вывод на экран:
void Str::show() const
{
int i;
for(i=0; i < l; i++)
{
printf("%i ", Str);
printf("\n");
}
}
// Преобразование типа double:
double Str::Str_to_double()
{
int i, sum = 0;
double mid;
for (i=0; i < l; i++) sum += int(Str);
mid = (sum / l);
return mid;
}
void main()
{
Str stroka1(5, 10); // Создание строки длины 5 с элементами 10
Str stroka2(stroka1, 3); // Увеличение строки на 3
Str transform; // Строка преобразования
transform = Str(double(7));
double y; // Преобразование типа double
y = stroka1.Str_to_double();
stroka1.show();
printf("\n");
stroka2.show();
printf("\n");
transform.show();
printf("\n");
printf("%f\n\n", y);
getch();
}