Данные рассуждения будут яснее, если мы определим, как выполняется операция сложения.
void Complex::Add(Complex x) { this->real = this->real + x.real; this->imaginary = this->imaginary + x.imaginary; }
Первые две строки говорят о том, что это метод Add класса Complex. В фигурных скобках записано определение операции или метода Add. Это определение означает следующее: для того чтобы прибавить значение объекта класса Complex к данному объекту, надо сложить вещественные части и запомнить результат в атрибуте вещественной части текущего объекта. Точно так же следует сложить мнимые части двух комплексных чисел и запомнить результат в атрибуте текущего объекта, обозначающем мнимую часть.
Запись this-> говорит о том, что атрибут принадлежит к тому объекту, который выполняет метод Add (объекту, получившему сообщение Add). В большинстве случаев this-> можно опустить. В записи определения метода какого-либо класса упоминание атрибута класса без всякой дополнительной информации означает, что речь идет об атрибуте текущего объекта.
Теперь приведем этот небольшой пример полностью:
// определение класса комплексных чисел class Complex { public: int real; // вещественная часть int imaginary; // мнимая часть void Add(Complex x); // прибавить комплексное число };
// определение метода сложения void Complex::Add(Complex x) { real = real + x.real; imaginary = imaginary + x.imaginary; } int main() { Complex number; number.real = 1; // первый объект класса Complex number.imaginary = 3; Complex num2; // второй объект класса Complex num2.real = 2; num2.imaginary = 1; number.Add(num2); // прибавить значение второго // объекта к первому return 1; }
on_load_lecture()
Дальше »
Если Вы заметили ошибку - сообщите нам.
1
|
2
|
вопросы | »
|
учебники
|
для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |