Читать «Справочное руководство по C++» онлайн - страница 104

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

for для

friend друг

goto переход на

if если

inline подстановка

int целый

long длинный

new новый

operator оператор

private частный

protected защищенный

public общий

register регистровый

return возврат

short короткий

signed знаковый

sizeof размер

static статический

struct структура

switch переключатель

template шаблон типа

this текущий

throw запустить

try проверить

typedef тип

union объединение

unsigned беззнаковый

virtual виртуальный

void пустой

volatile изменяемый

while пока

* ПРИМЕРЫ *

b1_1_1.cxx

#include ‹stream.hxx›

main()

{

 cout ‹‹ "Hello, world\n";

}

b1_1_3.cxx

#include ‹stream.hxx›

main ()

{

 int inch = 0;

 cout ‹‹ "inches=";

 cin ›› inch;

 cout ‹‹ inch;

 cout ‹‹ "in = ";

 cout ‹‹ inch*2.54;

 cout ‹‹ " cm\n";

}

b1_4_5v.cxx

#include ‹stream.hxx›

main()

{

 const float fac = 2.54;

 float x, in, cm;

 char ch = 0;

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

  cerr ‹‹ "enter length: ";

  cin ›› x ›› ch;

  if (ch == 'i') {// inch

   in = x;

   cm = x*fac;

  }

  else if (ch == 'c') {// cm

   in = x/fac;

   cm = x;

  }

  else

   in = cm = 0;

   cerr ‹‹ in ‹‹ "in = " ‹‹ cm ‹‹ " cm\n";

 }

}

b1_5.cxx

#include ‹stream.hxx›

extern float pow(float, int);

main()

{

 for (int i=0; i‹10; i++) cout ‹‹ pow(2,i) ‹‹ "\n";

}

extern void error(char *);

float pow(float x, int n)

{

 if (n ‹ 0) {

  error ("sorry, negative exponent to pow()");

  return 0;

 }

 switch (n) {

 case 0: return 1;

 case 1: return x;

 default: return x*pow(x,n-1);

 }

}

void error(char *s)

{

 cout ‹‹ s;

}

b1__13.cxx

#include ‹stream.hxx›

// 1.11

class vector {

 int *v;

 int sz;

public:

 vector(int); // constructor

 ~vector(); // destructor

 int size() { return sz; }

 void set_size(int);

 int& operator[](int);

 int& elem(int i) { return v[i]; }

};

// 1.13

class vec: public vector {

 int low, high;

public:

 vec(int, int);

 int& elem(int);

 int& operator[](int);

};

main()

{

 vector a(10);

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

  a[i] = i;

  cout ‹‹ a[i] ‹‹ " ";

 }

 cout ‹‹ "\n";

 vec b(10,19);

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

 for (i=0; i‹b.size(); i++) cout ‹‹ b[i+10] ‹‹ " ";

 cout ‹‹ "\n";

}

extern void exit(int);

// 1.13

void error(char* p)

{

 cerr ‹‹ p ‹‹ "\n";