📄 subject_26129.htm
字号:
<p>
序号:26129 发表者:龙卷风 发表日期:2002-12-29 10:48:10
<br>主题:高手给我这个初学者把把脉,错在什么地方
<br>内容:#include <windows.h> <BR><BR>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) <BR><BR>{ <BR><BR> MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0) ; <BR><BR> return 0 ; <BR><BR>} <BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:晚风也渡 回复日期:2002-12-29 11:50:03
<br>内容:怎么了?没有错呀?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:flowingsky 回复日期:2002-12-29 15:24:58
<br>内容:没错!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-29 16:39:41
<br>内容:再看看这个<BR>#include <iostream.h><BR>class Clock<BR>{<BR>public:<BR> Clock (int NewH, int NewM, int NewS);<BR> void SetTime(int NewH, int NewM, int NewS);<BR> void ShowTime();<BR>private:<BR> int Hour,Minute,Second;<BR>}<BR><BR>Clock::Clock(int NewH, int NewM, int NewS)<BR>{<BR> Hour=NewH;<BR> Minute=NewM;<BR> Second=NewS;<BR>}<BR><BR>void Clock::ShowTime()<BR>{<BR> cout<<Hour<<":"<<Minute<<":"<<Second<<endl;<BR>}<BR><BR>void main()<BR>{<BR> Clock c(0,0,0);<BR> c.ShowTime();<BR> c.SetTime(8,30,30);<BR>}<BR><BR>我编译时告诉有两个错误;但我不知道那错<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晚风也渡 回复日期:2002-12-29 16:52:37
<br>内容:#include <iostream.h><BR>class Clock<BR>{<BR>public:<BR> Clock (int NewH, int NewM, int NewS);<BR> //void SetTime(int NewH, int NewM, int NewS);<BR> void ShowTime();<BR>private:<BR> int Hour,Minute,Second;<BR>};<BR><BR>Clock::Clock(int NewH, int NewM, int NewS)<BR>{<BR> Hour=NewH;<BR> Minute=NewM;<BR> Second=NewS;<BR>}<BR><BR>void Clock::ShowTime()<BR>{<BR> cout<<Hour<<":"<<Minute<<":"<<Second<<endl;<BR>}<BR><BR>void main()<BR>{<BR> Clock c(0,0,0);<BR> c.ShowTime();<BR> //c.SetTime(8,30,30);<BR>}<BR>首先你的这段程序又两个问题,第一类定义形式不对,少一个;<BR>第二SetTimer()没有定义<BR>当你编译的时候看到错误不要畏惧,仔细看看,就会找到错误的,久而久之就不会犯这些错误了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-29 17:00:24
<br>内容:初学构造函数,见笑了<BR><BR>如果我要用SetTime(int NewH, int NewM, int NewS)<BR>那我是不是还应该定义<BR>voif Clock::SetTime(int NewH, int NewM, int NewS)<BR>{<BR> Hour=NewH;<BR> Minute=NewM;<BR> Second=NewS;<BR>}<BR>这样好象和构造函数Clock重复的嫌疑了(胡说)<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晚风也渡 回复日期:2002-12-29 17:11:59
<br>内容:如果你觉得这样不好,可以将构造函数设为参数为空的<BR> Clock();<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-30 10:53:45
<br>内容:thank you <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-30 10:58:56
<br>内容:#include <iostream.h><BR>#include <math.h><BR>class point<BR>{<BR>public:<BR> point(int xx=0,int yy=0) {X=xx;Y=yy;}<BR> point(point &p);<BR> int GetX() {return X;}<BR> int GetY() {return Y;}<BR>private:<BR> int X,Y;<BR>};<BR><BR><BR>point::point(point &p)<BR>{<BR> X=p.X;<BR> Y=p.Y;<BR> cout<<"拷贝构造函数被调用"<<endl;<BR> cout<<"拷贝构造函数被调用"<<p.X<<endl;<BR> cout<<"拷贝构造函数被调用"<<p.Y<<endl;<BR>}<BR><BR>class distance<BR>{<BR>public:<BR> distance(point xp1,point xp2);<BR> double GetDis() {return dist;}<BR>private:<BR> point p1,p2;<BR> double dist;<BR>};<BR><BR>distance::distance(point xp1,point xp2):p1(xp1),p2(xp2)<BR>{<BR> cout<<"distance 构造函数被调用"<<endl;<BR> double x=double(p1.GetX()-p2.GetX());<BR> double y=double(p1.GetY()-p2.GetY());<BR> dist=sqrt(x*x+y*y);<BR>}<BR><BR>void main()<BR>{<BR> point myp1(1,1),myp2(4,5);<BR> distance myd(myp1,myp2);<BR> cout<<"The distance is:";<BR> cout<<myd.GetDis()<<endl;<BR>}<BR><BR>为什么在调用distance myd(myp1,myp2);时先对myp2初始化<BR>我认为的运行结果为<BR> 1<BR> 1<BR> 4<BR> 5<BR> 1<BR> 1<BR> 4<BR> 5<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晚风也渡 回复日期:2002-12-30 11:26:35
<br>内容:point(int xx=0,int yy=0) {X=xx;Y=yy;}这句话是做什么用的?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:强子 回复日期:2002-12-30 11:40:35
<br>内容:调用拷贝构造函数的时候是在对myb进行初始化的时候,而不是在:p1(xp1),p2(xp2)的时候,对函数进行初始化的时候是按参数表自右向左的顺序进行的,即按myp2、myp1的顺序进行的。<BR>不知以上解释是否合理。进行程序调试的时候,如果弄不清程序执行的先后顺序,可多设几个断点或单步执行即可看清。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-30 12:15:19
<br>内容:"对函数进行初始化的时候是按参数表自右向左的顺序进行的,即按myp2、myp1的顺序进行的"——------合理的解释<BR>to 晚风也渡<BR><BR>point(int xx=0,int yy=0) {X=xx;Y=yy;}是构造函数,对X,Y初始化和对他们付值<BR>这是我的理解
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:龙卷风 回复日期:2002-12-30 14:20:14
<br>内容:再问<BR> cout<<s1.getelem()<<" "<<s2.getelem()<<endl;<BR>是从左到右还是从右到左?<BR>单步调试是从右到左。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -