Тема: Помилка String::String(void): member function already defined
#include <iostream>
using namespace std;
class String {
public:
static int amount;
char *string;
char *string2;
char *string3;
int size;
String() {
string = new char[81];
}
String() : string2(nullptr), string3(nullptr), size(80) { }
String(int size_, char* string3_) :size(size_), string3(string3_) { }
~String() {
delete[] string;
delete[] string2;
delete[] string3;
}
void input() {
cout << "Enter the 1 string: ";
fgets(string, 80, stdin);
cout << "\nEnter the 2 string: ";
fgets(string2, size, stdin);
cout << "\nEnter the 3 string: ";
fgets(string, size, stdin);
amount++;
}
void print() { cout << amount << "\nstring1: " << string << "\nstring2: " << string2 << "string3: " << string3 << "\n"; }
};
int String::amount = 0;
int main() {
String s;
s.input();
s.print();
}
Код не працює так як потрібно, я можу записати тільки перший рядок два наступних він пропуска і вибиває помилку.
ось завдання Завдання: Розробити клас String, який в подальшому будемо використовувати для роботи з рядками. Клас повинен містити:
Конструктор за замовчуванням, що дозволяє створити рядок довжиною 80 символів;
Конструктор, що дозволяє створювати рядок довільного розміру;
Конструктор, який створює рядок і ініціалізує його рядком, отриманим від користувача.
Необхідно створити деструктор. Клас повинен містити методи для введення рядків з клавіатури і виведення рядків на екран. Також потрібно реалізувати статичну функцію-член, яка буде повертати кількість створених об’єктів рядків.
Від модератора: тему перенесено у відповідний розділ.