suraty
جمعه 27 آبان 1390, 18:55 عصر
سلام
این برنامه در خروجی عدد 10 را دوبار چاپ میکرد. درحالی که به نظر من باید عدد 12 را دو بار چاپ می کرد. چرا این اتفاق افتاده؟ (یعنی عدد 10 دو بارچاپ می شود؟)
#include"iostream.h"
class class1
{
public:
int x;
class1(){
x=10;
}
void f(class1 *p){
(*p).x+2;
cout << x;
}
};
int main()
{
class1 ob;
class1 *s;
s = &ob;
ob.f(s);
cout << ob.x;
return 0;
}
این برنامه در خروجی عدد 10 را دوبار چاپ میکرد. درحالی که به نظر من باید عدد 12 را دو بار چاپ می کرد. چرا این اتفاق افتاده؟ (یعنی عدد 10 دو بارچاپ می شود؟)
#include"iostream.h"
class class1
{
public:
int x;
class1(){
x=10;
}
void f(class1 *p){
(*p).x+2;
cout << x;
}
};
int main()
{
class1 ob;
class1 *s;
s = &ob;
ob.f(s);
cout << ob.x;
return 0;
}