Передача аргументов по ссылке и по значению

Как и с базовыми типами, объекты в аргументах функции можно передавать по значению и по ссылке. По умолчанию объекты передаются по значению. Для передачи аргумента по ссылке перед именем аргумента указывается оператор &. Пример передачи аргумента-объекта по ссылке и по значению приведен ниже.
#include 
using namespace std;
class MyClass{
public:
double x;
};
//Передача аргумента по значению:
double f1(MyClass obj){
obj.x*=10;
return obj.x;
}
//Передача аргумента по ссылке:
double f2(MyClass &obj){
obj.x*=10;
return obj.x;
}
int main(){
MyClass obj;
obj.x=5;
cout << "x = " << f1(obj) << endl;
cout << "x = " << obj.x << endl;
cout << "x = " << f2(obj) << endl;
cout << "x = " << obj.x << endl;
return 0;
}
Онлайн всего: 5
Гостей: 5
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте