void Str::operator=(char* a)
{
delete[] str;
len = strlen(a);
str = new char[len + 1];
strcpy (str, a);
}
void Str::operator=(class Str a)
{
delete[] str;
len = strlen(a.str);
str = new char[len + 1];
strcpy(str, a.str);
}
Bu tür bir sınıf Str. Ben 'sınıf Str operatörü = (char *)' tanımlanmıştır ve böyle 'main.cpp' ilk birini kullanabilirsiniz:Fonksiyonda sınıf faktörünü nasıl kullanabilirim?
Str a("Icecream");
a = "Cake\n";
Ve iyi çalışma.
Fakat 'operator = (Str st a)' yi nasıl kullanabilirim?
böyle çalıştı:Str c("Hamburger")l
c = a;
ben c ait bilgiler bekliyordu. Ben, c, artık hamburger bilgisi değil. c kektir. Ancak bu kodu derlediğimde, c, ancak bir çağrı hatası bilgisine sahiptir.
'operator = (class Str a)' nasıl kullanabilirim?
Lütfen bu uygun - biçimlendirmeyi, yazım hatalarını ve ** hata mesajını ** yapın. – LogicStuff
'char *'? Bu 2016 yılında C++. 'Char *' kullanmayın. –