Лекция 2. Классы.
Else
Else
Class employee
Primer 4 Лекция 2.
#include <iostream>
#include <string.h>
using namespace std;
{
public:
int assign_values(char *, long, float);
void show_employee(void);
int change_salary(float);
long get_id(void);
private:
char name [64];
long employee_id;
float salary;
);
int employee::assign_values(char *emp_name, long emp_id, float emp_salary)
{
strcpy(name, emp_name);
employee_id = emp_id;
if (emp_salary < 50000.0)
{
salary = emp_salary;
return(0); // Успешно
}
return(-1); // Недопустимый оклад }
int employee::show_employee()
{
cout << "Служащий: " << name << endl;
cout << "Номер служащего: " << employee_id << endl;
cout << "Оклад: " << salary << endl;
}
int employee::change_salary(float new_salary)
{
if (new_salary < 50000.0)
{
salary = new_salary;
return(0); // Успешно } else return(-1); // Недопустимый оклад }
long employee::get_id()
{
return(employee_id);
}
int main()
{
system("chcp 1251");
employee worker;
if (worker.assign_values("Happy Jamsa", 101, 10101.0) == 0)
{
cout << "Служащему назначены следующие значения" << endl;}
worker.show_employee();
if (worker.change_salary(35000.00) == 0)
{
cout << "Назначен новый оклад" << endl;
worker.show_employee();
}
}
cout << "Указан недопустимый оклад" << endl;
system("pause");
}
highlightSyntax('cpp_96210','cpp');
2.6. Использование оператора глобального разрешения для элементов класса.
Имена параметров функции часто предваряются символами етр:
int employee::assign_values(char *emp_name, long emp_id, float emp_salary) highlightSyntax('cpp_64239','cpp');
int employee::assign_values(char *name, long employee_id, float salary) |
{ |
strcpy(employee::name, name); |
employee::employee_id = employee_id; |
if (salary < 50000.0) |
{ |
employee::salary = salary; |
return(0); // Успешно } else |
return(-1); // Недопустимый оклад |
} |
Класс представляет собой главное инструментальное средство C++ для объектно-ориентированного программирования. Класс похож на структуру, в которой сгруппированы элементы, соответствующие данным о некотором объекте, и оперирующие этими данными функции (называемые методами). Класс C++ позволяет программам определять все атрибуты объекта.
2.1. Представление об объектах и объектно-ориентированном программировании.
В известном смысле объект представляет собой сущность. Программа обычно использует переменные для хранения информации о различных реально существующих сущностях, например служащих, книгах и даже файлах. При объектно-ориентированном программировании вы фокусируетесь на предметах, образующих систему, и операциях, которые вы должны выполнять над этими предметами. Например, для объекта-файла вы могли бы иметь операции, которые печатают, отображают или изменяют файл. В C++ вы используете класс для определения своих объектов. Ваша цель состоит в том чтобы включить в класс столько информации об объекте, сколько требуется. Исходя из этого, можно подобрать класс, созданный для одной программы, и использовать его в нескольких разных программах.
Класс позволяет вашим программам группировать данные и функции, которые выполняют операции над этими данными.
Класс C++ должен иметь уникальное имя, за которым следует открывающая фигурная скобка, один или несколько элементов и закрывающая фигурная скобка:
class class_name |
{ |
int data_member; // Элемент данных |
void show_member(int); // Функция-элемент |
}; |
После определения класса можно объявлять переменные типа этого класса (называемые объектами ):
class_name object_one, object_two, object_three;
Следующее определение создает класс employee, который содержит определения данных и метода:
class employee |
{ |
public: |
char name[64]; |
long employee_id; |
float salary; |
void show_employee(void) |
{ |
cout << "Имя: " << name << endl; |
cout << "Номер служащего: " << employee_id << endl; |
cout << "Оклад: " << salary << endl; |
}; |
}; |
Класс содержит три переменные и одну функцию-элемент. Элементы класса могут быть частными (private) или общими (public), от чего зависит, как ваши программы обращаются к элементам класса. Все элементы являются общими (программа может обращаться к любому элементу, используя оператор точку). После определения класса внутри вашей программы вы можете объявить объекты (переменные) типа этого класса:
employee worker, boss, secretary; //Переменные класса (объекты)
Следующая программа создает два объекта employee. Используя оператор точку, программа присваивает значения элементам данных. Далее программа использует элемент show_employee для вывода информации о служащем:
Primer 1 Лекция 2.
#include <iostream>
#include <string.h>
using namespace std;
{
public:
char name [64];
long employee_id;
float salary;