Язык С++

Слайд 2

using namespace System; void main() // можно и оставить int !

using namespace System;
void main() // можно и оставить int !
{

Console::WriteLine(" Hello World !");
Console::ReadLine();
}

Файл -> Создать проект -> Установленные -> Visual C++ -> Консольное приложение Windows

При этом (в VS2017):
в свойствах проекта должна быть выбрана опция «поддержка clr-среды»(проект-свойства-общие),
отменена прекомпиляция заголовочных файлов (проект-свойства - С/С++ - Предварительно откомпилированные заголовки),
можно также из проекта удалить неиспользуемые *.h и *.cpp файлы.

#include "stdafx.h“
int main()
{
return 0;
}

Cоздание проекта в Visual Studio:

Слайд 3

using namespace System; class A { public: void helloworld() { Console::WriteLine("

using namespace System;
class A
{
public: void helloworld()
{
Console::WriteLine("

Hello World-2 !");
}
};
void main()
{
A a;
a.helloworld ( );
A *pa = &a;
pa -> helloworld ( );
}

Ещё одна «Первая программа»

Слайд 4

using namespace System; class B { public: void helloworld(); }; void

using namespace System;
class B {
public: void helloworld();
};
void B::helloworld() {

Console::WriteLine("B: Hello World-3 !"); }
class A {
public: void helloworld()
{ Console::WriteLine("A: Hello World-3 !"); }
};
int main()
{
A a;
B b;
a.helloworld();
b.helloworld();
return 0;
}

«Первая программа», версия 3

Слайд 5

Встроенные типы данных Целочисленные: bool - 1 байт; char - 1

Встроенные типы данных

Целочисленные:
bool - 1 байт;
char - 1 байт;
unsigned char -

1 байт;
short - 2 байта;
unsigned short - 2 байта;
int - 4 байта;
unsigned int - 4 байта;
long - 4 байта;
unsigned long - 4 байта;
С плавающей точкой:
float - 4 байта;
double - 8 байт;
long double – вещественный размером 10 байт;
Специальные:
__int8 – целый размером 1 байт;
__int16 целый размером 2 байта;

using namespace System;
int main()
{ bool b ;
long double ld;
__int8 i8;
__int16 i16;
Console::WriteLine("bool= {0}", sizeof b);
Console::WriteLine("long double = {0}", sizeof ld);
Console::WriteLine("__int8 = {0} = {1}", sizeof i8, sizeof(__int8) );
Console::WriteLine("__int16 = {0} = {1}", sizeof i16, sizeof(__int16));
}

sizeof – операция получения размера типа или объекта, измеренного в байтах

Слайд 6

using namespace System; void main ( ) { int i =

using namespace System;
void main ( )
{ int i = 1,

j = 2, k=3;
switch( i + j + ++k)
{
case 5: Console::WriteLine ("case 5 "); break;
case 6: Console::WriteLine ("case 6 "); break;
case 7: Console::WriteLine ("case 7 ");
case 8: Console::WriteLine ("case 8 ");
default: Console::WriteLine ("default ");
}
Console::WriteLine(" после switch сумма = {0} ", i+j+k );
}

«Своеобразие» switch

Слайд 7

Подробнее об указателе Указатели – это переменные, предназначенные для размещения адресов

Подробнее об указателе

Указатели – это переменные, предназначенные для размещения адресов областей

памяти.
Указатели бывают трёх видов: на объект, на функцию, и на void.
Указатель не является самостоятельным типом, он всегда определяется типом объекта (или функции), адрес которого будет содержать.
Указатель на функцию предназначен для вызова соответствующего типа функции (во многом аналогичен событию на С#).
Указатель на объект и указатель на void предназначены для работы с объектами данных.
Указатель на void применяется в случае, когда конкретный тип не определён. Ему можно присвоить значение указателя любого типа, но перед его использованием в большинстве случаев требуется явное приведение типа.
В дальнейшем речь пойдет об указателях на объект и на void .
Слайд 8

Операции с указателями разъадресации * имя (доступ к значению по адресу,

Операции с указателями

разъадресации * имя (доступ к значению по адресу, размещённому

в указателе);
явное приведение к типу указателя (* имя );
сложения ( с переменными, константами, с другими указателями);
сравнения ( с другим указателем);

Указатель на объект объявляется с помощью конструкции
Тип *имя ;
и может быть проинициализирован одним из вариантов:
операцией получения адреса: имя = &ИмяОбъекта;
с помощью другого указателя: имя = ДругойУказатель;
с помощью имени массива: имя = ИмяМассива;
адресом памяти: имя = (Тип*) 0xШестнадцатеричнаяКонстанта;
нуль-адресом или просто нулём: имя = NULL ; //или имя = 0;
с помощью операции new: имя = new Тип; – для размещения одного объекта;
с помощью операции new: имя = new Тип[N]; – для размещения N объектов;

Объявление и инициализация указателей