Проблема: мне нужно было, по условию, добавить класс искл. , который должен генерировать искл. ,если строка инициализации слишком длинная. Но что у меня не так??
main.cpp
Код: Выделить всё
class base
{
private:
char* str;
int size;
public:
base(){size = 0; str = 0;}
base( char *str1)
{
size = strlen(str1);
str = new char[size+1];
strcpy(str,str1);
}
base (const base &bs3);
~base()
{
if(str)
delete []str;
}
void print() { cout<<str<<endl;}
base operator + (base bs);
base operator = (base bs1);
};
base base: :o perator +(base bs)
{
strcat(str,bs.str);
size = strlen(str);
return (str);
}
base base: :o perator =(base bs1)
{
size = bs1.size;
str = bs1.str;
return (str);
}
base::base(const base &bs3)
{
size = bs3.size;
str = new char [ bs3.size ];
strcpy(str,bs3.str);
}
int main()
{
char obj1[80],obj2[80];
try
{
cout<<" input:"<<endl;
cin>>obj1;
cin>>obj2;
if(strlen(obj1) >10 || strlen(obj2) >10) throw err("\n leave for boards\n");
}
catch(err ob)
{
ob.get_error();
}
base s1(obj1),s2(obj2);
base s3;
s3 =s1+s2;
s3.print();
system("pause");
return 0;
}
Код: Выделить всё
class err
{
private:
char array [33];
public:
err(){}
err(char *s)
{
strcpy(array,s);
}
char *get_error(){return array;}
};