Class dogs

Методы класса.

Class employee

Void show_employee(void)

{

cout << "Имя: " << name << endl;

cout << "Номер служащего: " << employee_id << endl;

cout << "Оклад: " << salary << endl;

};

};

int main()

{

system("chcp 1251");

employee worker, boss;

strcpy(worker.name, "Иванов");

worker.employee_id = 12345;

worker.salary = 25000;

strcpy(boss.name, "Савин");

boss.employee_id = 01;

boss.salary = 100000.00;

worker.show_employee();

boss.show_employee();

system("pause");

}

Программа объявляет два объекта типа employeeworker и boss, а затем использует оператор точку для присваивания значений элементам и вызова функции show_employee.

2.2.Определение методов класса вне класса.
В предыдущем классе employee функция была определена внутри самого класса (встроенная (inline) функция). При увеличении функций определение встроенных функций внутри класса может внести беспорядок в описание класса. В качестве альтернативы можно поместить прототип функции внутри класса, а затем определить функцию вне класса. Определение класса с прототипом:

class employee
{
public:
char name[64];
long employee_id;
float salary;
void show_employee(void); // Прототип функции
};
 
 

Так как разные классы могут использовать функции с одинаковыми именами, необходимо предварять имена определяемых вне класса функций именем класса и оператором глобального разрешения;:. Определение функции становится следующим:

void employee:: show_employee (void) //Имя класса
 
{
сout << "Имя: " << name << endl; //Имя элемента cout << "Номер служащего: " << employee_id << endl;
cout << "Оклад: " << salary << endl;
};

Приведенный код предваряется определением функции с именем класса (employee) и оператором глобального разрешения:;. Следующая программа помещает определение функции show_employee вне класса, используя оператор глобального разрешения для указания имени класса:

Primer 2 Лекция 2.

#include <iostream>

#include <string.h>

using namespace std;

{

public:

char name [64];

long employee_id;

float salary;

void show_employee(void);

};

void employee::show_employee(void)

{

cout << "Имя: " << name << endl;

cout << "Номер служащего: " << employee_id << endl;

cout << "Оклад: " << salary << endl;

};

int main()

{

system("chcp 1251");

employee worker, boss;

strcpy(worker.name, "Иванов");

worker.employee_id = 12345;

worker.salary = 25000;

strcpy(boss.name, "Савин");

boss.employee_id = 01;

boss.salary = 100000.00;

worker.show_employee();

boss.show_employee();

system("pause");

}

Классы C++ позволяют программам группировать данные объекта и функции объекта (методы), которые оперируют с этими данными, в одной переменной. Есть две возможности определения методов объекта. Первая состоит в том, что можно включить весь код функции внутрь определения класса. Несмотря на то, что включение кода метода в определение класса может представляться удобным, однако, когда классы становятся сложнее и включают несколько методов, операторы функций могут вносить беспорядок в определение классов. Многие программы определяют операторы функции вне класса. В определение класса программа должна включать прототип функции, который указывает имя функции, тип возвращаемого значения и типы параметров.
Для определения функции вне определения класса программа должна предварять определение функции именем класса и оператором глобального разрешения:

return_type class_name::function_name(parameters)
{ // Операторы }

Следующая программа создает класс dog, который содержит несколько полей данных и функцию show_breed. Программа определяет функцию класса вне определения самого класса. Затем программа создает два объекта типа dog и выводит информацию о каждой собаке:

Primer 3 Лекция 2.

#include <iostream>

#include <string.h>

using namespace std;

{

public:

char breed[64];

int average_weight;

int average_height;

int show_breed();

};

int dogs::show_breed()

{

cout << "Порода: " << breed << endl;

cout << "Средний вес: " << average_weight << endl;

cout << "Средняя высота: " << average_height << endl;

}

int main()

{

system("chcp 1251");

dogs happy, matt;

strcpy(happy.breed, "Долматин");

happy.average_weight = 58;

happy.average_height = 24;

strcpy(matt.breed, "Колли");

matt.average_weight =22;

matt.average_height = 15;

happy.show_breed();

matt.show_breed();

system("pause");

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: