[ create a new paste ] login | about

Link: http://codepad.org/HqfPrP6B    [ raw code | output | fork ]

Irabi - C++, pasted on Jul 16:
// Рис. 3.15 GradeBook.h
// Определение класса GradeBook представляет собой открытый интерфейс
// класса. Определение элемент-функции находится в GradeBook.cpp
#include <string> // программа использует стандартный класс string
using std::string;

// определение класа GradeBook
class GradeBook
{
public:
	GradeBook ( string name1, string name2 ); // конструктор, инициализирующий courseName
	void setCourseName (string name1); // установает courseName
	string getCourseName(); // получает название курса
	void setTeacherName (string name2); // устанавливает им преподавателя
	string getTeacherName(); // получает имя преподавателя
	void displayMessage(); // выводит сообщение приветствия
	private:
		string courseName; //  название курса для данного GradeBook
		string teacherName; //  название курса для данного GradeBook
};	//конец класса GradeBook

// Рис. 3.16 GradeBook.cpp
// Реализация элемент-функции GradeBook
// Фунция setCourseName производит подтверждение данных.
#include <iostream>
using std::cout;
using std::endl;

//#include "GradeBook.h" // включить определение класса GradeBook

// конструктор инициализирует courseName переданный строкой
GradeBook::GradeBook (string name1, string name2)
{
	setCourseName(name1); // инициализировать вызовом set-функции
	setTeacherName(name2); // инициализировать вызовом set-функции
} // конец конструктора GradeBook

// Функция, устанавливающая название курса
// гарантирует, что название курса в пределах 25 символов
void GradeBook::setCourseName(string name)
	{
		if ( name.length() <= 25 ) // если не более 25 символов
		{
			courseName = name; // сохранить название курса в объекте
		}
		if ( name.length() > 25 ) // если больше 25
		{
			courseName = name.substr( 0, 25 ); // сохранить н.к. в об. начать с 0, длина 25
			cout << "Имя \"" << name << "\" за пределами максимальной длины.\n"
			<< "ограничение courseName - первые 25 символов\n" << endl;
		}
	} // конец функции setCourseName

// функция, получающая название курса
string GradeBook::getCourseName()
	{
		return courseName; // возвратить courseName объекта
	}
// этот оператор вызывает getCourseName, что-бы получить название курса, представленного данным GradeBook

// Функция, устанавливающая имя преподавателя
void GradeBook::setTeacherName(string name)
	{
		teacherName = name; // сохранить название курса в объекте
	} // конец функции setTeacherName

// функция, получающая имя преподавателя
string GradeBook::getTeacherName()
	{
		return teacherName; // возвратить teacherName
	} // конец фунцкии getTeacherName

void GradeBook::displayMessage()
	{
		cout << "Добро пожаловть в классный журнал \n" << getCourseName() << "..." << endl;
		cout << "Курс ведёт: \n" << getTeacherName() << "\n" << endl;
	}// конец функции displayMessage

// Рис. 3.10: fig03_10.cpp
// Включение класса GradeBook из GrradeBook.h в главную программу
// #include <iostream>
// using std::cout;
// using std::endl;

// #include "GradeBook.h" // включить определение класса GradeBook


// фукнция main начинает исполнение программы
int main ()
	{
	// создать два объекта GradeBook
	GradeBook gradeBook1 ("CS101 Введение в программирование на C++", "Иванов");
	GradeBook gradeBook2 ("CS102 структура данных в C++", "Титов");
	// вывести исходное значение courseName для каждого GradeBook
	cout << "Сейчас есть 2 журнала:\ngradeBook1 созданная для: " << gradeBook1.getCourseName() << "\n" << "gradebook2 созданная для: " << gradeBook2.getCourseName() << endl;
	gradeBook1.displayMessage() ;
	gradeBook2.displayMessage() ;
	return 0;
	}// конец main


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Имя "CS101 Введение в программирование на C++" за пределами максимальной длины.
ограничение courseName - первые 25 символов

Имя "CS102 структура данных в C++" за пределами максимальной длины.
ограничение courseName - первые 25 символов

Сейчас есть 2 журнала:
gradeBook1 созданная для: CS101 Введение в
gradebook2 созданная для: CS102 структура 
Добро пожаловть в классный журнал 
CS101 Введение в...
Курс ведёт: 
Иванов

Добро пожаловть в классный журнал 
CS102 структура ...
Курс ведёт: 
Титов



Create a new paste based on this one


Comments: