同样的代码,在VC++6.0下面能输出结果,但再VS2010下就不能输出结果,请教高手,代码如下
#include<iostream.h>
class M
{
public:
M()
{
x=y=0;
}
M(int i,int j)
{
x=i;
y=j;
}
void copy(M &m);
void setxy(int i,int j)
{
x=i;
y=j;
}
void print()
{
cout<<x<<","<<y<<endl;
}
private:
int x,y;
};
void M::copy(M &m)
{
x=m.x;
y=m.y;
}
void fun(M m1,M &m2);
void main()
{
M p(5,7),q;
q.copy(p);
fun(p,q);
p.print();
q.print();
system("pause"); //这个只是在用VS2010编写加上的
}
void fun(M m1,M &m2)
{
m1.setxy(12,25);
m2.setxy(22,25);
}
改了,但是还是没有用
追答这个程序改过来后就没问题了。你的不能输出结果的情况是什么样的?要不把运行时输出栏中的内容粘贴过来看看,或者截张图。
追问在VC++6.0里面的输出结果是:
5,7
22,25
请按任意键继续。。。
在VS2010里面输出结果是:
请按任意键继续。。。
顺便告诉我一下VS2010里面的编译和运行的快捷键是什么,我觉得好像是我编译和运行弄错了,谢谢
没有单独的编译,就只有一个运行键,包含了编译和运行。你在两个print语句处设置断点看看,看看程序在那后是怎么走的。