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

📄 cjj115.htm

📁 c++的一些程序
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD><TITLE>C++习题与解析(友元-01)</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<SCRIPT language=JavaScript>
var currentpos,timer;

function initialize()
{
timer=setInterval("scrollwindow()",50);
}
function sc(){
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
</SCRIPT>

<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<link rel="stylesheet" href="body1.css" type="text/css">
</HEAD>
<BODY topMargin=0 marginheight="0" bgcolor="#CCCCCC">
<TABLE align=center border=1 cellPadding=0 cellSpacing=1 
style="BORDER-COLLAPSE: collapse" width=550>
 <TBODY>
  <TR>
    <TD bgColor=#c1c1c1 height=35> <img src="jsdd.gif" width="159" height="57" > <img src="jjdd.gif" ></TD>
  </TR>
 </TBODY>
</TABLE>


<TABLE align=center border=1 cellPadding=0 cellSpacing=1 
style="BORDER-COLLAPSE: collapse" width=550>
  <TBODY>
  <TR>
    <TD width="100%">
      <TABLE border=0 borderColor=#e2ca9f cellPadding=0 cellSpacing=0 
      width="100%">
        <TBODY>
        <TR>
          <TD align=middle vAlign=top width="95%">
            <TABLE border=1 borderColor=#e2ca9f cellPadding=0 cellSpacing=0 
            width="100%">
              <TBODY>
              <TR>
                <TD align=middle background=002.gif 
                borderColor=#e2ca9f vAlign=top width="69%">
                  <TABLE align=center border=0 cellPadding=0 cellSpacing=0 
                  width="100%">
                    <TBODY> 
                    <TR> 
                      <TD height=35 width="100%"></TD>
                    </TR>
                    <TR> 
                      <TD align=middle bgColor=#dddddd height=20 
                      style="FONT-SIZE: 18px" vAlign=bottom 
                        width="85%" class="body18black">C++习题与解析(友元-01)</TD>
                      <BR>
                    </TR>
                    <TR> 
                      <TD align=middle width="100%"><BR>
                      </TD>
                    </TR>
                    <TR> 
                      <TD align=middle width="100%"> 
                        <!--下面的这一句是设置阅读文本区的宽度-->
                        
                        <TABLE align=center border=0 cellPadding=0 cellSpacing=0  width="75%">
                          <TBODY> 
                          <TR> 
                            <TD align=middle width="100%"></TD>
                          </TR>
                          <TR> 
                            <TD class="body12black" >01.分析以下程序的执行结果<BR>
                              #include&lt;iostream.h&gt;<BR>class 
                              Sample<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              n;<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Sample(int 
                              i){n=i;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              friend int add(Sample &amp;s1,Sample 
                              &amp;s2);<BR>};<BR>int add(Sample &amp;s1,Sample 
                              &amp;s2)<BR>{<BR>&nbsp;&nbsp;&nbsp; return 
                              s1.n+s2.n;<BR>}<BR>void 
                              main()<BR>{<BR>&nbsp;&nbsp;&nbsp; Sample 
                              s1(10),s2(20);<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;add(s1,s2)&lt;&lt;endl;<BR>}<BR><BR>解:<BR>&nbsp;&nbsp;&nbsp; 
                              本题说明了友元函数的使用方法。add()是一个友元函数,它返回两个引用对象的n值之和。<BR>所以输出为: 
                              30<BR><BR>注意:友元函数不是类的成元函数<BR><BR>----------------------------------------------------<BR><BR><FONT 
                              color=#0000ff>02.分析以下程序的执行结果</FONT><BR>#include&lt;iostream.h&gt;<BR>class 
                              B;<BR>class A<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              i;<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int 
                              set(B&amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int get(){return 
                              i;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              A(int x){i=x;}<BR>};<BR>class 
                              B<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              i;<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              B(int 
                              x){i=x;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              friend A;<BR>};<BR>int A::set(B 
                              &amp;b)&nbsp;&nbsp;&nbsp; // 
                              由于使用了类B的定义,故本函数的定义应放在类B定义之后<BR>{<BR>&nbsp;&nbsp;&nbsp; 
                              return i=b.i;<BR>}<BR>void 
                              main()<BR>{<BR>&nbsp;&nbsp;&nbsp; A 
                              a(1);<BR>&nbsp;&nbsp;&nbsp; B 
                              b(2);<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;a.get()&lt;&lt;",";<BR>&nbsp;&nbsp;&nbsp; 
                              a.set(b);<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;a.get()&lt;&lt;endl;<BR>}<BR><BR>解:<BR>&nbsp;&nbsp;&nbsp; 
                              本题说明友元类的使用方法。这里将类A设置为类B的友元类,因此,类A的所有成员函数均为类B的友元函数。通过调用a.set(b)将b对象的i值赋给a对象的i值。<BR>所以输出为:1,2<BR><BR>-------------------------------------------------<BR><BR><FONT 
                              color=#0000ff>03.有一个学生类student,包括学生姓名、成绩,设计一个友元函数,比较两个学生成绩的高低,并求出最高分和最低分的学生。<BR></FONT>解:<BR>#include&lt;iostream.h&gt;<BR>#include&lt;string.h&gt;<BR>class 
                              student<BR>{<BR>&nbsp;&nbsp;&nbsp; char 
                              name[10];<BR>&nbsp;&nbsp;&nbsp; int 
                              deg;<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              student(char na[],int 
                              d)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              strcpy(name,na);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              deg=d;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

⌨️ 快捷键说明

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