You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
добавить пройденный курс к записи<br />
float addCourse(int hours, float grade)<br />
// Добавляет информацию о пройденном курсе к<br />
// полям класса Student<br />
float Student::addCourse(int hours, float grade)<br />
float weightedGPA;<br />
weightedGPA = semesterHours * gpa;<br />
// добавить новый курс<br />
semesterHours += hours;<br />
weightedGPA += grade * hours;<br />
gpa = weightedGPA / semesterHours;<br />
return gpa;<br />
Теперь объявление класса содержит только прототип функции addCourse (). При<br />
этом само тело функции находится в другом месте.<br />
Объявление прототипа функции-члена по структуре не отличается от объявления<br />
прототипа любой другой функции, и, подобно всем объявлениям прототипов,<br />
обязательно.<br />
В этом примере класс Student и функция Student:: addCourse () определены<br />
в одном файле. Так можно делать, но такое расположение не очень распространено.<br />
Обычно класс Student определяется во включаемом файле, например student.h,<br />
а тело функции может находиться в отдельном исходном файле, например<br />
Student.срр.<br />
Файл Student, срр должен быть включен в состав вашего проекта вместе<br />
с другими файлами. Student. срр будет скомпилирован в отдельный<br />
.obj-файл, который затем будет скомпонован с другими файлами в вашу<br />
программу на этапе сборки. Более детальное описание этого процесса<br />
можно найти в главе 6, "Создание функций".<br />
фцшщий-чиенов<br />
Функции-члены могут перегружаться так же, как и обычные функции (обратитесь<br />
к главе 6, "Создание функций", если забыли, что это значит). Как вы помните, имя<br />
класса является частью полного имени, и все приведенные ниже функции вполне<br />
корректны.<br />
class Student<br />
{<br />
public:<br />
//grade — возвращает текущую среднюю оценку<br />
float grade();<br />
//grade — устанавливает новое значение<br />
//оценки и возвращает предыдущее<br />
float grade(float newGPA);<br />
II... прочие члены-данные ...<br />
};<br />
class Slope<br />
{<br />
public:<br />
//grade — возвращает снижение оценки<br />
156 Часть ///. "Классическое" программирование