• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Ошибка в коде C++ помогите пожалуйста, СРОЧНО

Roksolana1253

Ученик
Регистрация
18 Окт 2021
Сообщения
1
Реакции
0
Баллы
0
Ошибка в коде C++ помогите пожалуйста, СРОЧНО

Задание:
Конструктор должен позволять создавать символьною строку произвольного размера и при необходимости инициализировать его. Определить конструктор копий. Перегрузить операции присвоения =, сравнение ==, изъятие из жидкая заданного символа -, вывода << и ввода >>.

Мой код:

line.cpp

#include "line.h"
#include <iostream>
using namespace std;

void main()
{
line::line(int m) { \\ ошибка здесь
this->size = m;
strcpy(this->s, 0);
cin >> *this;
}
line::line(const line & a) {
this->size = a.size;
this->s = a.s;
}
line line:: operator = (const line & a) {
this->size = a.size;
this->s = 0;
this->s = a.s;
return *this;
}
bool line:: operator == (const line & a)
{
if (this->size != a.size) return false;
else
{
int n = 0;
for (int i = 0; i < a.size; i++)
if (this->s == a.s) n++;
if (n == a.size) return true;
else return false;
}
}
line line:: operator - (char& c)
{
for (int i = 0; i < this->size; i++)
{
if (this->s == c)
s = 0;
}
return *this;
}
ostream& operator << (ostream & out, const line & a) {
for (int i = 0; i < a.size; i++)
out << a.s;
return out;

}
istream& operator >> (istream & in, line & a) {
for (int i = 0; i < a.size; i++)
{
in >> a.s;
}
return in;
}
}


line.h

#pragma once
#include <iostream>
using namespace std;

class line
{
private:
char* s; \\ ошибка здесь
int size;
public:
line() {
s = '\0';
size = 0;
}
line(int m);
line(const line& a);
line operator = (const line& a);
bool operator == (const line& a);
line operator - (char& c);
friend ostream& operator << (ostream& out, const line& a);
friend istream& operator >> (istream& in, line& a);
};
 
Уважаемая Роксолана, к сожалению, у нас СИ-шников не осталось (были когда-то), так что здесь Вам вряд ли помогут. Вам лучше обратиться на другие (профильные) форумы программистов. Мне очень жаль.
Удачи!
 
Назад
Сверху