⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjj105.htm

📁 c++的一些程序
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                                <BR>
                                void main()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; Sample(2,3);<BR>
                                }<BR>
                                <BR>
                                解:<BR>
                                &nbsp;&nbsp;&nbsp; 本题说明了常量对象的构造函数和析构函数的调用情况。在main()中定义了一个常量对象,常量对象在构造之后立即析构。所以输出为:<BR>
                                &nbsp;&nbsp;&nbsp; x!=y<BR>
                                注意:常量对象的作用域不是整个main()函数,而是仅限于包含该常量的值表达式,表达式一旦计算完成,其中的对象就按构造的逆序析构。<BR>
                                <BR>
                                --------------------------------------------------------<BR>
                                <BR>
                                <FONT 
                              color=#0000ff>题6.分析以下程序的执行结果</FONT><BR>
                                #include&lt;iostream.h&gt;<BR>
                                class Sample<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; public:<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample();<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample(int);<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~Sample();<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void 
                                display();<BR>
                                &nbsp;&nbsp;&nbsp; protected:<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
                                x;<BR>
                                };<BR>
                                <BR>
                                Sample::Sample()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; x=0;<BR>
                                &nbsp;&nbsp;&nbsp; cout&lt;&lt;"constructing normally\n";<BR>
                                }<BR>
                                <BR>
                                Sample::Sample(int m)<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; x=m;<BR>
                                &nbsp;&nbsp;&nbsp; cout&lt;&lt;"constructing with 
                                a number:"&lt;&lt;x&lt;&lt;endl;<BR>
                                }<BR>
                                <BR>
                                void Sample::display()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; cout&lt;&lt;"display a number:"&lt;&lt;x&lt;&lt;endl;<BR>
                                }<BR>
                                <BR>
                                Sample::~Sample()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; cout&lt;&lt;"destructing\n";<BR>
                                }<BR>
                                <BR>
                                void main()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; Sample obj1;<BR>
                                &nbsp;&nbsp;&nbsp; Sample obj2(20);<BR>
                                &nbsp;&nbsp;&nbsp; obj1.display();<BR>
                                &nbsp;&nbsp;&nbsp; obj2.display();<BR>
                                }<BR>
                                <BR>
                                解:<BR>
                                &nbsp;&nbsp; 本题构造函数与析构函数的调用顺序。这里定义了两个对象,先顺序调用obj1和obj2对象的构造函数,再调用各自的成员函数disp(),最后顺序调用obj2和obj1的析构函数。所以输出为:<BR>
                                &nbsp;&nbsp;&nbsp; constructing nomally<BR>
                                &nbsp;&nbsp;&nbsp; constructing with a number:20<BR>
                                &nbsp;&nbsp;&nbsp; display a number:0<BR>
                                &nbsp;&nbsp;&nbsp; display a number:20<BR>
                                &nbsp;&nbsp;&nbsp; destructing<BR>
                                &nbsp;&nbsp;&nbsp; destructing<BR>
                                <BR>
                                --------------------------------------------------------<BR>
                                <BR>
                                <FONT 
                              color=#0000ff>题7.分析以下程序的执行结果</FONT><BR>
                                #include&lt;iostream.h&gt;<BR>
                                class Sample<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; int n;<BR>
                                &nbsp;&nbsp;&nbsp; static int sum;<BR>
                                &nbsp;&nbsp;&nbsp; public:<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample(int 
                                x){n=x;}<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void 
                                add(){sum+=n;}<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void 
                                disp()<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                                cout&lt;&lt;"n="&lt;&lt;n&lt;&lt;",sum="&lt;&lt;sum&lt;&lt;endl;<BR>
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>
                                };<BR>
                                <BR>
                                int Sample::sum=0;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 
                                静态数据成员赋初值<BR>
                                <BR>
                                void main()<BR>
                                {<BR>
                                &nbsp;&nbsp;&nbsp; Sample a(2),b(3),c(5);<BR>
                                &nbsp;&nbsp;&nbsp; a.add();<BR>
                                &nbsp;&nbsp;&nbsp; a.disp();<BR>
                                &nbsp;&nbsp;&nbsp; b.add();<BR>
                                &nbsp;&nbsp;&nbsp; b.disp();<BR>
                                &nbsp;&nbsp;&nbsp; c.add();<BR>
                                &nbsp;&nbsp;&nbsp; c.disp();<BR>
                                }<BR>
                                <BR>
                                解:<BR>
                                &nbsp;&nbsp;&nbsp; 本题说明静态数据成员的使用方法。在类中定义了一个静态数据成员sum,在main()之前给它赋初值0,然后在main()中定义了三个对象,并执行各自的add()和disp()方法。所以输出为:<BR>
                                &nbsp;&nbsp;&nbsp; n=2,sum=2<BR>
                                &nbsp;&nbsp;&nbsp; n=3,sum=5<BR>
                                &nbsp;&nbsp;&nbsp; n=5,sum=10<BR>
                                注意:静态数据成员脱离具体的对象独立存在,其存储单元不是任何对象存储空间的一部分,但逻辑上所有对象都共享这一存储单元,对静态数据成员的任何操作都会访问这一存储单元,从而影响这一存储单元的所有对象。所以说静态数据成员不是对象成员,在引用时不需要用对象名。</P>
                            </TD>
                          </TR>
                          </TBODY> 
                        </TABLE>
                      </TD>
                    </TR>
                    <TR> 
                      <TD height=35 width="100%"> 
                        <DIV align=center></DIV>
                      </TD>
                    </TR>
                    </TBODY> 
                  </TABLE>
                </TD></TR></TBODY>
			</TABLE>
			</TD></TR></TBODY>
		</TABLE>
	</TD></TR></TBODY>
</TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=750>
 <TBODY>
  <TR>
    <TD bgColor=#c1c1c1 height=1></TD>
  </TR>
 </TBODY>
</TABLE>


<TABLE align=center border=1 cellPadding=0 cellSpacing=1 
style="BORDER-COLLAPSE: collapse" width=550>
 <TBODY>
  <td  align=center>
      <div align="center">
        <p><a href=mailto:jjsun36@sohu.com ><span class="body14black">mailto:jjsun36@sohu.com</span></a><span class="body12red"> 
          &nbsp;&nbsp;&nbsp;&nbsp;热线电话:0523-4864559</span></p>
      </div>
    </td>
 </TBODY>
</TABLE>

</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -