Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Основы работы в С++

Тип: методичка
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Основные приемы работы с классами и объектами. Перегрузка функций и операторов. Массивы объектов. Реализация одиночного наследования. Множественное наследование. Виртуальные функции. Шаблоны: понятие и функциональные особенности, свойства и применение.
Краткое сожержание материала:

Размещено на

Размещено на

Лабораторная работа 1

Тема: Создание классов и объект. Основные приемы работы с классами и объектами.

Задача 1

Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы. Написать программу, демонстрирующую работу с этим классом. Класс соответствует индивидуальному варианту.

1. Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Средний балл, Факультет, Курс. Определить является ли студент «двоечником», «троечником», «хорошистом», «отличником».

#include<iostream>

using namespace std;

class student {

char fam[10];

char im[10];

char otch[10];

char datarog[10];

char adress[10];

double ball;

char fak[10];

char kurs[10];

public:

void set (char fam[10], char im[10], char otch[10], char datarog[10], char adress[10], double ball, char fak[10], char kurs[10])

{

strcpy (this->fam, fam);

strcpy (this->im, im);

strcpy (this->otch, otch);

strcpy (this->datarog, datarog);

strcpy (this->adress, adress);

this->ball=ball;

strcpy (this->fak, fak);

strcpy (this->kurs, kurs);

}

int get_rec (char f[10], char i[10], char o[10], char d[10], char ad[10], double & ba,

char faki[10], char ku[10])

{strcpy (f, fam);

strcpy (i, im);

strcpy (o, otch);

strcpy (d, datarog);

strcpy (ad, adress);

ba=ball;

strcpy (faki, fak);

strcpy (ku, kurs);

}

void show()

{cout<< «informziyu»<<endl;

cout<<fam;

cout<<im<<endl;

cout<<otch<<endl;

cout<<datarog<<endl;

cout<<adress<<endl;

cout<<ball<<endl;

cout<<fak<<endl;

cout<<kurs<<endl;}

void red (double ball) {if ((ball>0)||(ball<3)) cout<< «dvoichick»<<endl;}

void red1 (double ball) {if ((ball>4)||(ball<=5)) {cout<< «horoshist»<<endl;}

else {cout<< «troeishnik»<<endl;}}

void red3 (double ball) {if (ball==5) cout<< «otlichnik»<<endl;}

};

int main() {

student wee;

char a[10];

char b[10];

char c[10];

char d[10];

char q[10];

double w;

char e[10];

char t[10];

cout<< «vvedite dannie»;

cout<< "_____"<<endl;

cout<< «familiya»<<endl;

cin>>a;

cout<< «imya»<<endl;

cin>>b;

cout<< «otchestvo»<<endl;

cin>>c;

cout<< «datarog»<<endl;

cin>>d;

cout<< «adress»<<endl;

cin>>q;

cout<< «ball»<<endl;

cin>>w;

cout<< «fak»<<endl;

cin>>e;

cout<< «kurs»<<endl;

cin>>t;

wee.set (a, b, c, d, q, w, e, t);

wee.red(w);

wee.red1 (w);

wee.red3 (w);

wee.show();

return 0;

}

Задание 2

1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию, конструктор инициализации и конструктор преобразования.

2. Определить функции-члены класса для ввода и вывода членов-данных внутри объявления класса.

3. Составить программу, которая определяет четыре объекта класса и выводит их на экран. Первый объект должен инициализироваться по умолчанию, второй использовать конструктор инициализации, третий - преобразование типа своего параметра к типу своего класса, а четвертый - функцию ввода данных.

4. Выполнить программу и проверить соответствие заданных и полученных данных. 5. Определить функции ввода и вывода вне объявления класса и повторить выполнение программы.

6. Объявить функции ввода и вывода как «друзей» класса с параметром - объектом класса, передаваемым по значению. Изменить определение этих функций и повторить выполнение программы.

7. Объявить функции ввода и вывода как «друзей» класса с параметром - объектом класса, передаваемым по ссылке. Изменить определение этих функций и повторить выполнение программы.

#include<iostream>

using namespace std;

class comchislo

{

double x;

double y;

public:

comchislo (double x, double y)

{

this->x=x;

this->y=y;

}

void set (double x, double y)

{

this->x=x;

this->y=y;

}

void get_1 (double &x, double &y)

{

this->x=x;

this->y=y;

}

void show()

{

cout<< «z=»<<x<< "+i*"<<y<<endl;

}

void set_s1 (double x, double y);

void get_s1 (double &x, double &y);

friend void vivod (comchislo o);

};

void comchislo:set_s1 (double x, double y)

{

this->x=x;

this->y=y;

}

void comchislo:get_s1 (double &x, double &y)

{

this->x=x;

this->y=y;

}

void vivod (double x, double y)

{

cout<< «z=»<<x<< "+i*"<<y<<endl;

}

int main()

{

double x, y;

comchislo o (0,0);

o.show();

cout<< «Vvedite mnimoe i realnoe chislo»<<endl;

cin>>x>>y;

o.set (x, y);

o.show();

o.set_s1 (x, y);

vivod (x, y);

return 0;}

Анология

#include<iostream>

using namespace std;

class comchislo

{

double x;

double y;

public:

comchislo (double x, double y)

{

this->x=x;

this->y=y;

}

void set (double x, double y)

{

this->x=x;

this->y=y;

}

void get_1 (double &x, double &y)

{

this->x=x;

this->y=y;

}

double tim (double x, double y) {

return (x+y)/2-45;}

void show()

{

cout<< «z=»<<x<< "+i*"<<y<<endl;

}

};

int main()

{

double k, z, p, p1;

double x, y;

comchislo o (0,0);

o.show();

cout<< «Vvedite mnimoe i realnoe chislo»<<endl;

cin>>x>>y>>k>>z;

o.set (x, y);

p=o.tim (x, y) - o.tim (x, k)+2*o.tim (z, y);

cout<<p;

p1=o.tim (k, z) - o.tim (k, y)+o.tim (y, y) - o.tim (x, x);

cout<<p1;

x=p;

y=p1;

o.show();

return 0;

}}

Контрольные вопросы

1) Что представляет собой класс?

Класс является описываемой на языке терм...

Другие файлы:

Химические основы работы двигателя
Рассмотрены основы работы двигателей внутреннего сгорания...

Основы профориентационной работы в школе
Психологические основы профориентационной работы в школе. Профориентация. Её содержание и формы. Функции и характеристики профориентации. Процедура пр...

Правовые основы работы с молодежью
Анализируются теоретико-правовые основы работы с молодежью в современной России. Рассматривается реализация полномочий органов государственной власти...

Основы социальной работы
Виды социальных услуг, основания их предоставления в Беларуси. Исторические этапы становления социальной работы. Основные глобальные проблемы в мире....

Основы работы в сети Internet. Учебное пособие
Описаны особенности работы с персональным компьютером и основы работы в сети INTERNET, порядок и виды подключения пользователей сети, программные сред...