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