Бьярн Страустрап - Справочное руководство по C++

Здесь есть возможность читать онлайн «Бьярн Страустрап - Справочное руководство по C++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Справочное руководство по C++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Справочное руководство по C++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Справочное руководство по C++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Справочное руководство по C++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

R.18.3.5 Невложенность классов

Если класс описан внутри другого класса и в программе больше не описано классов с этим именем, то его можно использовать, как если бы он был описан вне класса (так обстоит дело с описанием struct в С), например:

struct S {

struct T {

int a;

};

int b;

};

struct T x; // означает `S::T x;'

Список служебных слов

auto автоматический

break разрыв

case вариант

catch перехватить

char символ

class класс

const конст

continue продолжить

default по умолчанию

delete удалить

do делать

double двойной

else иначе

enum перечисление

extern внешний

float плавающий

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

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)

{

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Справочное руководство по C++»

Представляем Вашему вниманию похожие книги на «Справочное руководство по C++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Справочное руководство по C++»

Обсуждение, отзывы о книге «Справочное руководство по C++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x