Вход/Регистрация
Справочное руководство по C++
вернуться

Страустрап Бьярн

Шрифт:

{

 if (i‹0 || sz‹=i) error("vector index out of range");

 return v[i];

}

vector::~vector

{

 delete v;

}

// 1.14

class Vec: public vector {

public:

 Vec(int s): (s) {}

 Vec(Vec&);

 ~Vec {}

 void operator=(Vec&);

 void operator*=(Vec&);

 void operator*=(int);

};

Vec::Vec(Vec& a): (a.size)

{

 int sz = a.size;

 for (int i = 0; i‹sz; i++) elem(i) =a.elem(i);

}

void Vec::operator=(Vec& a)

{

 int s = size;

 if (s != a.size) error("bad vector size for =");

 for (int i =0; i‹s; i++) elem(i)=a.elem(i);

}

Vec operator+(Vec& a, Vec& b)

{

 int s = a.size;

 if (s!= b.size) error("bad vector size for +");

 Vec sum(s);

 for (int i=0; i‹s; i++)

 sum.elem(i) = a.elem(i) + b.elem(i);

 return sum;

}

void error(char* p)

{

 cerr ‹‹ p ‹‹ "\n";

 exit (1);

}

void vector::set_size(int) {}

main

{

 Vec a(10);

 Vec b(10);

 for (int i=0; i‹a.size; i++) a[i] = i;

 b = a;

 Vec c = a+b;

 for (i=0; i‹c.size; i++) cout ‹‹ c[i] ‹‹ "\n";

}

b1__16.cxx

#include ‹vector.hxx›

declare(vector,int);

implement(vector,int);

main

{

 vector(int) vv(10);

 vv[2] = 3;

 vv[10] = 4; // range error

}

b2_1_3.cxx

#include ‹stream.hxx›

int a = 1;

void f

{

 int b = 1;

 static int c = 1;

 cout ‹‹ " a = " ‹‹ a++

‹‹ " b = " ‹‹ b++

‹‹ " c = " ‹‹ c++ ‹‹ "\n";

}

main

{

 while (a ‹ 4) f;

}

b2_3.cxx

#include ‹stream.hxx›

main

{

 int* p = new int;

 cout ‹‹ "sizeof(int) = " ‹‹ sizeof(int) "\n";

}

b2_3_6a.cxx

#include ‹stream.hxx›

extern int strlen(char*);

char alpha[] = "abcdefghijklmnopqrstuvwxyz";

main

{

 int sz = strlen(alpha);

for (int i=0; i‹sz; i++) {

 char ch = alpha[i];

 cout ‹‹ "'" ‹‹ chr(ch) ‹‹ "'"

‹‹ " = " ‹‹ ch

‹‹ " = 0" ‹‹ oct(ch)

‹‹ " = 0x" ‹‹ hex(ch) ‹‹ "\n";

 }

}

b2_3_6b.cxx

#include ‹stream.hxx›

char v[2][5] = {

 'a', 'b', 'c', 'd', 'e',

 '0', '1', '2', '3', '4'

};

main {

 for (int i = 0; i‹2; i++) {

  • Читать дальше
  • 1
  • ...
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: