Реализация класса на C++
#include <cstdlib>
#include <iostream>
#include "textbuf.h"
using namespace std;
int main(int argc, char *argv[])
{
char xstr[20];
TextBuf textbuf1, textbuf2;
cin>>xstr;
textbuf1.SetText(xstr);
cout << textbuf1.GetText() << endl;
textbuf2.SetText(textbuf1);
cout << textbuf2.GetText() << endl;
textbuf1.LoadFromFile("text.txt");
cout << textbuf1.GetText() << endl;
textbuf1.SaveToFile("text2.txt");
system("PAUSE");
return EXIT_SUCCESS;
}
#include "textbuf.h"
void TextBuf::SetText(char*str)
{
int a,i;
delete [] this->text;
a=0;
while (str[a]!=0)
a++;
this->text= new char[a];
a++;
for (i=0; i<a; i++)
this->text[i]=str[i];
}
char*TextBuf::GetText()
{
char* xstr;
int b,j;
b=0;
while (this->text[b]!=0)
b++;
xstr=new char[b+1];
for(j=0;j<b;j++)
xstr[j]=this->text[j];
xstr[b]=0;
return xstr;
}
TextBuf TextBuf::operator =(TextBuf textbuf1)
{
int i, a = 0;
delete [] this->text;
while (textbuf1.GetText()[a++] != '0');
this->text = new char[a];
for (i = 0; i <= a; i++)
this->text[i] = textbuf1.GetText()[i];
}
void TextBuf::SetText(TextBuf textbuf1)
{
this->SetText(textbuf1.GetText());
}
void TextBuf::LoadFromFile (char *FileName)
{
FILE *text_a;
int i,
a = 0;
char ch;
delete [] this->text;
text_a = fopen (FileName, "r");
do {
fscanf (text_a, "%c", &ch);
a++;
} while (!feof (text_a));
this->text = new char[a];
fclose (text_a);
text_a = fopen (FileName, "r");
for (i = 0; i < a - 1; i++)
{
fscanf (text_a, "%c", &ch);
this->text[i] = ch;
}
this->text[a-1] = '\0';
fclose (text_a);
}
void TextBuf::SaveToFile (char *FileName)
{
FILE *text_a;
text_a = fopen (FileName, "w");
fprintf (text_a, "%s", this->text);
fclose (text_a);
};
#include <stdio.h>
#include <stdlib.h>
class TextBuf
{
private:
char*text;
public:
void SetText(char*str);
void SetText(TextBuf textbuf1);
void LoadFromFile(char*FileName);
char*GetText();
void SaveToFile(char*FileName);
/*написать в текстбуф с перегрузками и применение м мэйн*/ TextBuf operator = (TextBuf textbuf1);
/*написать деструктор*/ ~TextBuf(){};
};