Re: доступ к полям с помощью шаблона-2
От: B0FEE664  
Дата: 12.02.13 12:20
Оценка:
Здравствуйте, pepsicoca, Вы писали забавный код.

P>Вопрос:

P>1. Можно ли такую задачу решить шаблоном или придется тупо руками писать все методы класса b?

Можно тупо добавить один метод возвращающий ссылку:

class a{
public:
virtual a& get_a(int i) { return *this; }
virtual int fun1(int i,int a){return a+1;}
virtual float fun2(int i,int a,float b){return a+b+1;}
virtual double fun3(int i,int a,float b,double c){return a+b+c+1;}

};

class b: public a{

a array1[10];
public:
  virtual a& get_a(int i) { return (i>=10 || i < 0) ? *this : array1[i]; }
}

int main(int argc,char* argv[]){

b bb;

cout<<"\n"<<bb.get_a(1).fun3(1,2,3,4);

}
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.