代码如下,为何输出 是不可预知的数,而不是4,6,作用域如何解释呢,各位大神?
iclude<iostream>
using namespace std;
class Rectangle{
//public:
int width;
int height;
public:
Rectangle(){}
Rectangle(int x,int y):width(x),height(y){} //overloaded funtion,two funtions with the same name
int area(){
cout<<cout<<'width='<<width<<','<<'height='<<height<<endl;
return width*height;}
friend Rectangle duplicate (const Rectangle&);
};
Rectangle duplicate(const Rectangle¶m){
Rectangle res; //defining the temporary object members :res
res.width=param.width*2;
res.height=param.height*2;
return res;
}
int main(){
Rectangle foo;
Rectangle bar(2,3);
foo=duplicate(bar);
cout<<foo.area()<<'\n';//<<'\n'<<foo.width<<','<<foo.height
return 0;
}
出现几个问题
1,第9行没有初始化,是否有误;
2,出现 too long for its type 为什么如何解决
2,运行输出:
0x6fd0d3c816853504614,17348987496
24,为什么输出不了4,6