Operators overloading
/**********************************/
#ifndef _MISC_H_
#define _MISC_H_
typedef char name[40];
struct own_inf
{
int id_own;
name own_n;
};
class OwnerNames
{
public
int count;
own_inf *own;
OwnerNames()count(0),own(NULL){};
own_inf& operator [](int index) const;
};
#endif // _MISC_H_
/**********************************/
В файле срр
own_inf& OwnerNamesoperator [](int index) const
{
int i;
own_inf *ret=new own_inf;
if(index>0 && index<11)
i=index;
if(index>7000 && index<7014)
i=index-7000+10;
else
i=0;
ret->id_own = own.id_own;
lstrcpy(ret->own_n,own.own_n);
return *ret;
}
Что мне можно сделать чтобы была возможна такая конструкция
lstrcpy(buf,owner_names.own_n);
Цитата:
On 2001-11-09 0613, Anonymous wrote
Есть заголовочный файл с классом
/**********************************/
#ifndef _MISC_H_
#define _MISC_H_
typedef char name[40];
struct own_inf
{
int id_own;
name own_n;
};
class OwnerNames
{
public
int count;
own_inf *own;
OwnerNames()count(0),own(NULL){};
own_inf& operator [](int index) const;
};
#endif // _MISC_H_
/**********************************/
В файле срр
own_inf& OwnerNamesoperator [](int index) const
{
int i;
own_inf *ret=new own_inf;
if(index>0 && index<11)
i=index;
if(index>7000 && index<7014)
i=index-7000+10;
else
i=0;
ret->id_own = own.id_own;
lstrcpy(ret->own_n,own.own_n);
return *ret;
}
Что мне можно сделать чтобы была возможна такая конструкция
lstrcpy(buf,owner_names.own_n);
Вот что нужно сделать
struct own_inf
{
int id_own;
name own_n;
operator char()
{
return &own_n[0];
}
};
Igor Soukhov,
rsdn.ru & soukhov.com
Thanks!