С++ для начинающих


         

Пусть мы имеем следующие объявления


  cout << "swap() with ArrayRC<int> ia2" << endl;

  size = ia2.size();

  swap( ia2, 1, size );

  return 0;

}

Упражнение 2.13

Пусть мы имеем следующие объявления типов:

template<class elemType> class Array;

enum Status { ... };

typedef string *Pstring;

Есть ли ошибки в приведенных ниже описаниях объектов?

(a) Array< int*& > pri(1024);

(b) Array< Array<int> > aai(1024);

(c) Array< complex< double > > acd(1024);

(d) Array< Status > as(1024);

(e) Array< Pstring > aps(1024);

Упражнение 2.14

Перепишите следующее определение, сделав из него шаблон класса:

class example1 {

public:

  example1 (double min, double max);

  example1 (const double *array, int size);

  double& operator[] (int index);

  bool operator== (const example1&) const;

  bool insert (const double*, int);

  bool insert (double);

  double min (double) const { return _min; };

  double max (double) const { return _max; };

  void min (double);

  void max (double);

  int count (double value) const;

private:

  int size;

  double *parray;

  double _min;

  double _max;

}

Упражнение 2.15

Имеется следующий шаблон класса:

template <class elemType> class Example2 {

public:

  explicit Example2 (elemType val=0) : _val(val) {};

  bool min(elemType value) { return _val < value; }

  void value(elemType new_val) { _val = new_val; }

  void print (ostream &os) { os << _val; }

private:

  elemType _val;

}

template <class elemType>

ostream& operator<<(ostream &os,const Example2<elemType> &ex)

  { ex.print(os); return os; }

Какие действия вызывают следующие инструкции?

(a) Example2<Array<int>*> ex1;

(b) ex1.min (&ex1);

(c) Example2<int> sa(1024),sb;

(d) sa = sb;

(e) Example2<string> exs("Walden");

(f) cout << "exs: " << exs << endl;


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий