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