Разделы презентаций


Язык С ++

Содержание

Первая программа C++#include int n = 5; // глобальная переменнаяvoid main(){int n; // локальная переменная cout > n; // ввод из потока// вывод переменной в поток cout

Слайды и текст этой презентации

Слайд 1Язык С++
Лекция №6
Введение в С++

Язык С++Лекция №6Введение в С++

Слайд 2Первая программа C++
#include
int n = 5; // глобальная переменная
void

main()
{int n; // локальная переменная
cout

; // вывод в поток
cin >> n; // ввод из потока

// вывод переменной в поток
cout << "n = " << n;

// вывод глобальной переменной
cout << "global n = " << ::n;
}
Первая программа C++#include int n = 5; // глобальная переменнаяvoid main(){int n; 			 // локальная переменная cout

Слайд 3Потоки ввода/вывода
#include
using namespace std;
int main()
{ int

a;
cout

<< "ten" << "four";
cin >> a;
return 0;
}
Потоки ввода/вывода#include using namespace std; int main() { int a; cout

Слайд 4Функции iostream

Функции iostream

Слайд 5Манипуляторы iostream

Манипуляторы iostream

Слайд 6Пространства имен
namespace foo
{
int bar;
}


using namespace

foo;

Пространства именnamespace foo {  int bar; } using namespace foo;

Слайд 7Константы
const int n = 10;
const double pi = 3.1415926535897932384626433832795;

int sqr(const

int n)
{ return n*n;
}

int stln (const char *s)
{ char

*p = (char *) s;
while (*p++);
return p-s;
}
Константыconst int n = 10;const double pi = 3.1415926535897932384626433832795;int sqr(const int n){ return n*n;}int stln (const char

Слайд 8Перегрузка функций
int sqr(int n)
{ return n*n;
}

float sqr(float n)
{

return n*n;
}

double sqr(double n)
{
return n*n;
}

n=sqr(2); x=sqr(2.0)

Перегрузка функцийint sqr(int n){  return n*n;}float sqr(float n){  return n*n;}double sqr(double n){

Слайд 9Передача параметров функциям
// По значению
void noswap(int a, int b)
{

int c = a;
a = b; b

= c;
}

// По адресу
void swap( int* a, int* b)
{ int c = *a;
*a = *b; *b = c;
}

// По ссылке
void swap( int &a, int &b)
{ int c = a;
a = b; b = c;
}

swap(x,y);
cout << x << ' ' << y << endl;
swap(&x,&y);
cout << x << ' ' << y << endl;
noswap(x,y);
cout << x << ' ' << y << endl;

Передача параметров функциям// По значениюvoid noswap(int a, int b){  int c = a;   a

Слайд 10Передача параметров функциям
double power(double x, int n = 2)
{ double

z = 1;
for (int i=1; i

if (n<0) z=1.0/z;
return z;
}

a=power(2.0,10);
b=power(2.0);

Передача параметров функциямdouble power(double x, int n = 2){ double z = 1; for (int i=1; i

Слайд 11Перерыв 10 мин

Перерыв 10 мин

Слайд 12Описание класса
class vector
{private:
float *p; // указатель на начало вектора

int n; // количество элементов в векторе
public:
vector(int i

= 3); // конструктор
// (назначен параметр по умолчанию)
~vector(); // деструктор (не может иметь параметров)
float item(int i); // возвращает указанный элемент
void assign(int i, float x); // назначение элемента
float num()
{ return n; }; // возвращает число элементов (inline)
float norm(); // возвращает квадрат нормы вектора
};

Описание классаclass vector{private: float *p; 	// указатель на начало вектора int n; 	// количество элементов в векторе

Слайд 13Реализация методов класса
vector::vector(int i)
{ int j;
n=i;
p= new float[n];

for (j=0; j

<< n << "\n";
}

vector::~vector()
{ delete p;
cout << "vector destroyed\n";
}

float vector::item(int i)
{ if ((i>=0) && (i else {cout << "Error in vector::item"; return 0;}
}
Реализация методов классаvector::vector(int i){ int j; n=i; p= new float[n]; for (j=0; j

Слайд 14Реализация методов класса
void vector::assign(int i, float x)
{
if ((i>=0) &&

(i

i;
float x=0;
for (i=0; i return x;
}
Реализация методов классаvoid vector::assign(int i, float x){ if ((i>=0) && (i

Слайд 15Использование объекта
main()
{ int i;
vector a(100);
vector b;
for (i=0;

i

created 100
vector created 3
328350
vector destroyed 100
vector destroyed 3
Использование объектаmain(){ int i; vector a(100); vector b; for (i=0; i

Слайд 16Перегрузка операций
{
...
float operator()(int i); // возвращает указанный

элемент
void operator=(vector &x); // присваивает значение одного ...

// вектора другому
}

float vector::operator()(int i)
{ if ((i>=0) && (i else {cout << "Error in vector::item"; return 0;}
}

void vector::operator=(vector &x)
{ if (x.num()==n)
for (int i=0; i else cout << "Error in operator =\n";
}

// в main():
c=a;
cout << c(10);

Перегрузка операций{ ... float operator()(int i);  // возвращает указанный элемент void operator=(vector &x); // присваивает значение

Слайд 17Улучшенный класс Vector

class vector
{ …
public:
vector (int i

= 3);

// конструктор
vector (float x, float y, float z); // второй конструктор
vector& operator=(vector &x);
// присваивает значение одного в. другому
vector& operator*(float c); // умножение вектора на скаляр
float operator*(vector &x); // умножение вектора на вектор
float& operator[](int i); // возвращает ссылку на элемент
}


Улучшенный класс Vector class vector{ … public: vector (int i = 3);

Слайд 18Реализация класса Vector
vector::vector(float x, float y, float z)
{ n=3;

p=new float[n];
vector::assign(0,x);
vector::assign(1,y);
vector::assign(2,z);
cout

" << n << "\n";
}

vector& vector:: operator=(vector &x)
{
if (x.num()==n)
for (int i=0; i else cout << "Error in operator =\n";
return *this;
}

Реализация класса Vector vector::vector(float x, float y, float z){ n=3; p=new float[n]; vector::assign(0,x); vector::assign(1,y); vector::assign(2,z); cout

Слайд 19Реализация класса Vector
// умножение вектора на скаляр
vector & vector::operator*(float

c)
{ for (int i=0; i

вектора на вектор
float vector::operator*(vector &x)
{ float s=0.0;
for (int i=0; i return s;
}

// Операция [ ]
float & vector::operator[](int i)
{ if ((i>=0) && (i else {cout << "Error in vector::item"; return p[0];}
}
Реализация класса Vector // умножение вектора на скалярvector & vector::operator*(float c){ for (int i=0; i

Слайд 20Использование класса Vector
main()
{ vector b;
vector d(1,1,1);
b=d*2.0;
b[0]=3;

for (i=0; i

2 2
Использование класса Vector main(){ vector b; vector d(1,1,1); b=d*2.0; b[0]=3; for (i=0; i

Слайд 21Наследование
class matrix: public vector
{protected:
int M,N;

int lineaddres(int i, int j) { return

i*N+j; };
public:
matrix(int m=2, int n=2): vector(m*n)
{ M=m; N=n; }
float item(int i, int j);
void assign(int i, int j, float x);
int m() { return M;};
int n() { return M;};
};

float matrix::item (int i, int j)
{ return vector::operator()(lineaddres(i,j)); }

void matrix::assign(int i, int j, float x)
{ vector::assign(lineaddres(i,j),x); }
Наследованиеclass matrix: public vector {protected:    int M,N;    int lineaddres(int i, int

Слайд 22Наследование
main()
{ int i,j;

for (i=0; i

for (j=0; j

cout << z.item(i,j) << " ";
}
cout << "\n";
}
}

11 12 13
21 22 23
31 32 33

Наследованиеmain(){ int i,j; 	for (i=0; i

Слайд 23Атрибуты наследования
private – доступны только в данном классе

protected – доступны

только в данном классе и потомках

private – доступны для всеобщего использования

Атрибуты наследованияprivate 	– доступны только в данном классеprotected 	– доступны только в данном классе и потомкахprivate	– доступны

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика