Справочное руководство по C++ - страница 69

Шрифт
Интервал

стр.

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";

> exit (1);

>}


>// 1.11

>vector::vector(int s)

>{

> if (s‹=0) error("bad vector size");

> sz = s;

> v = new int[s];

>}


>int& vector::operator[](int i)

>{

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

> return v[i];

>}


>vector::~vector()

>{

> delete v;

>}


>// 1.13

>int& vec::elem(int i)

>{

> return vector::elem(i-low);

>}


>vec::vec(int lb, int hb): (hb-lb+1)

>{

> if (hb-lb‹0) hb = lb;

> low = lb;

> high = hb;

>}


>void vector::set_size(int) {/* dummy */}


>int& vec::operator[](int i)

>{

> if (i‹low || high‹i) error("vec index out of range");

> return elem(i);

>}

b1__14.cxx

>#include‹stream.hxx›


>extern void exit(int);

>extern void error(char*);


>// 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]; }

>};


>vector::vector(int s)

>{

> if (s‹=0) error("bad vector size");

> sz = s;

> v = new int[s];

>}


>int& vector::operator[](int i)

>{

> 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) ‹‹ "'"


стр.

Похожие книги