亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 010.htm

?? 21天內(nèi)快速掌握c++語(yǔ)言
?? HTM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Learn C++ in 21 Days-->Day 10</TITLE>
<META NAME="888" CONTENT=" Learn C++ in 21 Days Day 10">
<META NAME="888" CONTENT=" - Learn C++ in 21 Days - Day 10">

<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<p align="center"><script src="../../../1.js"></script> </p>
<TD CLASS="tt3" VALIGN="top" width="8%"  bgcolor="#ffffff"><strong><A HREF="011.htm"><FONT style="FONT-SIZE: 9pt">后一頁(yè)</font></A><BR>
<A HREF="009.htm"><FONT style="FONT-SIZE: 9pt">前一頁(yè)</font></A><BR>

<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
 
<TD class="tt2" bgcolor="#ffffff" width="100%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">Day 10</FONT></B></center>
 
	<LI><A HREF="#Heading1">Day 10</A>
	<UL>
		<LI><A HREF="#Heading2">Advanced Functions</A>
		<UL>
			<LI><A HREF="#Heading3">Overloaded Member Functions</A>
			<LI><A HREF="#Heading4">Listing 10.1. Overloading member functions</A><A HREF="#Heading5">.</A>
			<LI><A HREF="#Heading6">Using Default Values</A>
			<LI><A HREF="#Heading7">Listing 10.2. Using default values</A><A HREF="#Heading8">.</A>
			<LI><A HREF="#Heading9">Choosing Between Default Values and Overloaded Functions</A>
			<LI><A HREF="#Heading10">The Default Constructor</A>
			<LI><A HREF="#Heading11">Overloading Constructors</A>
			<LI><A HREF="#Heading12">Listing 10.3. Overloading the constructor</A><A HREF="#Heading13">.</A>
			<LI><A HREF="#Heading14">Initializing Objects</A>
			<LI><A HREF="#Heading15">Listing 10.4. A code snippet showing initialization of member
			variables</A><A HREF="#Heading16">.</A>
			<LI><A HREF="#Heading17">The Copy Constructor</A>
			<UL>
				<LI><A HREF="#Heading18">Figure 10.1.</A>
				<LI><A HREF="#Heading19">Figure 10.2.</A>
			</UL>
			<LI><A HREF="#Heading20">Listing 10.5. Copy constructors</A><A HREF="#Heading21">.</A>
			<UL>
				<LI><A HREF="#Heading22">Figure 10.3.</A>
			</UL>
			<LI><A HREF="#Heading23">Operator Overloading</A>
			<LI><A HREF="#Heading24">Listing 10.6. The Counter class</A><A HREF="#Heading25">.</A>
			<UL>
				<LI><A HREF="#Heading26">Writing an Increment Function</A>
			</UL>
			<LI><A HREF="#Heading27">Listing 10.7. Adding an increment operator</A><A HREF="#Heading28">.</A>
			<UL>
				<LI><A HREF="#Heading29">Overloading the Prefix Operator</A>
			</UL>
			<LI><A HREF="#Heading30">Listing 10.8. Overloading operator</A><A HREF="#Heading31">++.</A>
			<UL>
				<LI><A HREF="#Heading32">Returning Types in Overloaded Operator Functions</A>
			</UL>
			<LI><A HREF="#Heading33">Listing 10.9. Returning a temporary object</A><A HREF="#Heading34">.</A>
			<UL>
				<LI><A HREF="#Heading35">Returning Nameless Temporaries</A>
			</UL>
			<LI><A HREF="#Heading36">Listing 10.10. Returning a nameless temporary object</A><A
			HREF="#Heading37">.</A>
			<UL>
				<LI><A HREF="#Heading38">Using the this Pointer</A>
			</UL>
			<LI><A HREF="#Heading39">Listing 10.11. Returning the this pointer</A><A HREF="#Heading40">.</A>
			<UL>
				<LI><A HREF="#Heading41">Overloading the Postfix Operator</A>
				<LI><A HREF="#Heading42">Difference Between Prefix and Postfix</A>
			</UL>
			<LI><A HREF="#Heading43">Listing 10.12. Prefix and postfix operators</A><A HREF="#Heading44">.</A>
			<LI><A HREF="#Heading45">Operator Overloading Unary Operators</A>
			<UL>
				<LI><A HREF="#Heading46">The Addition Operator</A>
			</UL>
			<LI><A HREF="#Heading47">Listing 10.13. The Add() function</A><A HREF="#Heading48">.</A>
			<UL>
				<LI><A HREF="#Heading49">Overloading operator+</A>
			</UL>
			<LI><A HREF="#Heading50">Listing 10.14. operator</A><A HREF="#Heading51">+.</A>
			<LI><A HREF="#Heading52">Operator Overloading: Binary Operators</A>
			<UL>
				<LI><A HREF="#Heading53">Issues in Operator Overloading</A>
				<LI><A HREF="#Heading54">Limitations on Operator Overloading</A>
				<LI><A HREF="#Heading55">What to Overload</A>
				<LI><A HREF="#Heading56">The Assignment Operator</A>
			</UL>
			<LI><A HREF="#Heading57">Listing 10.15. An assignment operator</A><A HREF="#Heading58">.</A>
			<LI><A HREF="#Heading59">Conversion Operators</A>
			<LI><A HREF="#Heading60">Listing 10.16. Attempting to assign a Counter to a USHORT</A><A
			HREF="#Heading61">.</A>
			<LI><A HREF="#Heading62">Listing 10.17. Converting USHORT to Counter</A><A HREF="#Heading63">.</A>
			<UL>
				<LI><A HREF="#Heading64">Conversion Operators</A>
			</UL>
			<LI><A HREF="#Heading65">Listing 10.18. Converting from Counter to unsigned short().</A>
			<LI><A HREF="#Heading66">Summary</A>
			<LI><A HREF="#Heading67">Q&amp;A</A>
			<LI><A HREF="#Heading68">Workshop</A>
			<UL>
				<LI><A HREF="#Heading69">Quiz</A>
				<LI><A HREF="#Heading70">Exercises</A>
			</UL>
		</UL>
	</UL>
</UL>
<BR>
<P>
<HR SIZE="4">
<BR>
<H2 ALIGN="CENTER"><A NAME="Heading1"></A><FONT COLOR="#000077">Day 10</FONT></H2>
<H2 ALIGN="CENTER"><A NAME="Heading2"></A><FONT COLOR="#000077">Advanced Functions</FONT></H2>
<P>On Day 5, &quot;Functions,&quot; you learned the fundamentals of working with
functions. Now that you know how pointers and references work, there is more you
can do with functions. Today you learn
<BR>
<UL>
	<LI>How to overload member functions.
	<P>
	<LI>How to overload operators.
	<P>
	<LI>How to write functions to support classes with dynamically allocated variables.
</UL>
<BR>
<H3 ALIGN="CENTER"><A NAME="Heading3"></A><FONT COLOR="#000077">Overloaded Member
Functions</FONT></H3>
<P>On Day 5, you learned how to implement function polymorphism, or function overloading,
by writing two or more functions with the same name but with different parameters.
Class member functions can be overloaded as well, in much the same way.</P>
<P>The <TT>Rectangle</TT> class, demonstrated in Listing 10.1, has two <TT>DrawShape()</TT>
functions. One, which takes no parameters, draws the <TT>Rectangle</TT> based on
the class's current values. The other takes two values, <TT>width</TT> and <TT>length</TT>,
and draws the rectangle based on those values, ignoring the current class values.</P>
<P><A NAME="Heading4"></A><FONT SIZE="4" COLOR="#000077"><B>Listing 10.1. Overloading
member functions.</B></FONT></P>
<PRE><FONT COLOR="#0066FF" font style="font-size:10pt">
1:     //Listing 10.1 Overloading class member functions
2:     #include &lt;iostream.h&gt;
3:
4:     typedef unsigned short int USHORT;
5:     enum BOOL { FALSE, TRUE};
6:
7:     // Rectangle class declaration
8:     class Rectangle
9:     {
10:    public:
11:       // constructors
12:       Rectangle(USHORT width, USHORT height);
13:       ~Rectangle(){}
14:
15:       // overloaded class function DrawShape
16:       void DrawShape() const;
17:       void DrawShape(USHORT aWidth, USHORT aHeight) const;
18:
19:    private:
20:       USHORT itsWidth;
21:       USHORT itsHeight;
22:    };
23:
24:    //Constructor implementation
25:    Rectangle::Rectangle(USHORT width, USHORT height)
26:    {
27:       itsWidth = width;
28:       itsHeight = height;
29:    }
30:
31:
32:    // Overloaded DrawShape - takes no values
33:    // Draws based on current class member values
34:    void Rectangle::DrawShape() const
35:    {
36:        DrawShape( itsWidth, itsHeight);
37:    }
38:
39:
40:    // overloaded DrawShape - takes two values
41:    // draws shape based on the parameters
42:    void Rectangle::DrawShape(USHORT width, USHORT height) const
43:    {
44:       for (USHORT i = 0; i&lt;height; i++)
45:       {
46:          for (USHORT j = 0; j&lt; width; j++)
47:          {
48:             cout &lt;&lt; &quot;*&quot;;
49:          }
50:          cout &lt;&lt; &quot;\n&quot;;
51:       }
52:    }
53:
54:    // Driver program to demonstrate overloaded functions
55:    int main()
56:    {
57:       // initialize a rectangle to 30,5
58:       Rectangle theRect(30,5);
59:       cout &lt;&lt; &quot;DrawShape(): \n&quot;;
60:       theRect.DrawShape();
61:       cout &lt;&lt; &quot;\nDrawShape(40,2): \n&quot;;
62:       theRect.DrawShape(40,2);
63:     return 0;
<TT>64: }</TT></FONT></PRE>
<BR>
<BR>
<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>This listing passes <TT>width</TT>
	and <TT>height</TT> values to several functions. You should note that sometimes <TT>width</TT>
	is passed first and at other times <TT>height</TT> is passed first.
<HR>
<BR>
<BR>
</BLOCKQUOTE>
<BR>
<PRE><FONT COLOR="#0066FF" font style="font-size:10pt">Output: DrawShape():
******************************
******************************
******************************
******************************
******************************
<BR>
DrawShape(40,2):
************************************************************
************************************************************
</FONT></PRE>
<P><FONT COLOR="#000077"><B>Analysis:</B></FONT><B> </B>Listing 10.1 represents a
stripped-down version of the Week in Review project from Week 1. The test for illegal
values has been taken out to save room, as have some of the accessor functions. The
main program has been stripped down to a simple driver program, rather than a menu.<BR>
<BR>
The important code, however, is on lines 16 and 17, where <TT>DrawShape()</TT> is
overloaded. The implementation for these overloaded class methods is on lines 32-52.
Note that the version of <TT>DrawShape()</TT> that takes no parameters simply calls
the version that takes two parameters, passing in the current member variables. Try
very hard to avoid duplicating code in two functions. Otherwise, keeping them in
sync when changes are made to one or the other will be difficult and error-prone.</P>
<P>The driver program, on lines 54-64, creates a rectangle object and then calls
<TT>DrawShape()</TT>, first passing in no parameters, and then passing in two <TT>unsigned
short</TT> integers.</P>
<P>The compiler decides which method to call based on the number and type of parameters
entered. One can imagine a third overloaded function named <TT>DrawShape()</TT> that
takes one dimension and an enumeration for whether it is the width or height, at
the user's choice.
<H3 ALIGN="CENTER"><A NAME="Heading6"></A><FONT COLOR="#000077">Using Default Values</FONT></H3>
<P>Just as non-class functions can have one or more default values, so can each member
function of a class. The same rules apply for declaring the default values, as illustrated
in Listing 10.2.
<H3 ALIGN="CENTER"></H3>
<P><A NAME="Heading7"></A><FONT SIZE="4" COLOR="#000077"><B>Listing 10.2. Using default
values.</B></FONT></P>
<PRE><FONT COLOR="#0066FF" font style="font-size:10pt">
1:     //Listing 10.2 Default values in member functions
2:     #include &lt;iostream.h&gt;
3:
4:     typedef unsigned short int USHORT;
5:     enum BOOL { FALSE, TRUE};
6:
7:     // Rectangle class declaration
8:     class Rectangle
9:     {
10:    public:
11:       // constructors
12:       Rectangle(USHORT width, USHORT height);
13:       ~Rectangle(){}
14:       void DrawShape(USHORT aWidth,USHORT aHeight,BOOL UseCurrentVals=&#194;FALSE) const;
15:
16:    private:
17:       USHORT itsWidth;
18:       USHORT itsHeight;
19:    };
20:
21:    //Constructor implementation
22:    Rectangle::Rectangle(USHORT width, USHORT height):
23:    itsWidth(width),       // initializations
24:    itsHeight(height)
25:    {}                     // empty body
26:
27:
28:    // default values used for third parameter
29:    void Rectangle::DrawShape(
30:       USHORT width,
31:       USHORT height,
32:       BOOL UseCurrentValue
33:       ) const
34:    {
35:       int printWidth;
36:       int printHeight;
37:
38:       if (UseCurrentValue == TRUE)
39:       {
40:          printWidth = itsWidth;       // use current class values
41:          printHeight = itsHeight;
42:       }
43:       else
44:       {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩第一区日日骚| 欧美怡红院视频| 亚洲人123区| 9191久久久久久久久久久| 一区二区成人在线观看| 久久亚洲精品国产精品紫薇| 99精品欧美一区二区蜜桃免费 | 日日摸夜夜添夜夜添精品视频| 日韩三级电影网址| 99久久99久久久精品齐齐| 激情深爱一区二区| 亚洲影院免费观看| 久久久电影一区二区三区| 欧美一级理论性理论a| 成人一区在线看| 青草国产精品久久久久久| 日韩一区在线免费观看| 91精品国产欧美一区二区成人| 成人综合婷婷国产精品久久| 人人超碰91尤物精品国产| 亚洲乱码国产乱码精品精小说| 欧美日产国产精品| 波波电影院一区二区三区| 蜜臀久久久99精品久久久久久| 亚洲精品国产视频| 国产日韩在线不卡| 欧美一区二区三区视频| 欧美午夜精品免费| av在线一区二区| 国产一区 二区| 日日噜噜夜夜狠狠视频欧美人| 国产精品久久久久aaaa| 欧美激情一区三区| 久久综合久久综合亚洲| 宅男在线国产精品| 日韩视频免费观看高清完整版| 在线观看中文字幕不卡| 成人av网在线| 色综合久久综合网97色综合 | 香蕉加勒比综合久久| 国产精品三级av| 日韩精品一区在线观看| 日韩精品一区二区三区视频 | 久久久一区二区三区| 日韩欧美激情四射| 欧美理论片在线| 欧美日韩国产在线观看| 欧美日韩一级二级三级| 欧美久久久一区| 欧美日韩一区三区四区| 欧美视频在线播放| 日韩欧美电影在线| 欧美精品丝袜久久久中文字幕| 欧美在线你懂得| 欧美日韩在线播放三区| 精品婷婷伊人一区三区三| 欧美色综合网站| 欧美一区二区三区在线观看| 欧美一区日韩一区| 日韩欧美激情四射| 国产色产综合产在线视频| 欧美高清一级片在线观看| 国产片一区二区三区| 亚洲人xxxx| 亚洲永久精品国产| 亚洲精品乱码久久久久久黑人 | 九九久久精品视频| 精品中文字幕一区二区| 激情五月激情综合网| 91精品国产aⅴ一区二区| 91精品综合久久久久久| 欧美福利一区二区| 久久精品亚洲一区二区三区浴池 | 白白色亚洲国产精品| 99久久精品久久久久久清纯| 欧美在线不卡一区| 日韩视频一区在线观看| 欧美va亚洲va在线观看蝴蝶网| 精品国产伦一区二区三区免费| 国产欧美日韩在线看| 国产精品久久久久影院| 欧美国产日韩亚洲一区| 亚洲专区一二三| 蜜桃av一区二区三区| 成人激情图片网| 欧美影院一区二区| 欧美va亚洲va| 亚洲免费在线播放| 久久精品国产亚洲aⅴ| 国产.欧美.日韩| 欧美视频第二页| 精品女同一区二区| 亚洲少妇30p| 激情文学综合插| 9人人澡人人爽人人精品| 欧美在线观看18| 国产亚洲福利社区一区| 一区二区三区**美女毛片| 五月天国产精品| 91视频免费看| 欧美大片国产精品| 国产精品久久久久久久浪潮网站| 日韩av一区二区三区| 成人av片在线观看| 91精品国产综合久久久久久漫画| 亚洲欧洲精品天堂一级| 青青草一区二区三区| 97久久超碰精品国产| 日韩一区二区三区高清免费看看| 国产精品久久久久久久裸模| 最近日韩中文字幕| 麻豆成人在线观看| 在线观看亚洲精品视频| 日本一区二区久久| 极品尤物av久久免费看| 欧美在线视频日韩| 欧美不卡视频一区| 男人的j进女人的j一区| 91在线看国产| 欧美一级久久久| 五月天激情综合| 色偷偷久久一区二区三区| 亚洲国产精品av| 狠狠色综合播放一区二区| 在线观看不卡视频| 亚洲免费高清视频在线| 国产成人免费av在线| 日本道色综合久久| 亚洲精品乱码久久久久久黑人| 国产999精品久久久久久| 精品国产乱码久久久久久浪潮| 亚洲gay无套男同| 99久久精品国产精品久久| 国产精品免费aⅴ片在线观看| 久久99国产精品久久99| 国产欧美日韩亚州综合| 国产一区二区导航在线播放| 91麻豆精品国产综合久久久久久| 香蕉久久一区二区不卡无毒影院| 色狠狠色噜噜噜综合网| 中文字幕视频一区| 91免费小视频| 中文字幕亚洲区| 国产一区美女在线| 日本一区二区三区四区在线视频| 韩国一区二区三区| 日本一区二区免费在线| 风流少妇一区二区| 欧美国产精品中文字幕| 91视频观看视频| 亚洲日本护士毛茸茸| 激情都市一区二区| 日韩免费视频线观看| 另类小说一区二区三区| 精品久久99ma| 加勒比av一区二区| 亚洲国产成人午夜在线一区 | 午夜精品福利在线| 欧美日韩另类一区| 久久激情五月婷婷| 久久久欧美精品sm网站 | 欧美日韩久久久久久| 性久久久久久久久| 欧美日韩一区二区三区在线 | 国产黄色精品网站| 亚洲欧美自拍偷拍| 在线免费观看视频一区| 亚洲成av人片在线观看| 久久色在线视频| av网站免费线看精品| 五月激情综合网| 精品国产99国产精品| 成人午夜精品一区二区三区| 亚洲精品中文字幕在线观看| 欧美图区在线视频| 狠狠色综合色综合网络| 国产精品嫩草影院av蜜臀| 色综合久久久久| 久久国产精品99久久久久久老狼 | 欧美人与禽zozo性伦| 青青青爽久久午夜综合久久午夜| 欧美精品久久99久久在免费线| 国产一区二区免费视频| 国产精品久久久久久亚洲伦| 欧美日本精品一区二区三区| 极品少妇xxxx精品少妇偷拍 | 国产精品乱码人人做人人爱| 欧美日韩高清影院| 国产剧情一区二区| 国产精品美女久久久久久久| 91精品国产高清一区二区三区| 国产激情精品久久久第一区二区 | 精品国产精品网麻豆系列| 99精品国产99久久久久久白柏| 樱花影视一区二区| 久久天堂av综合合色蜜桃网| 欧美综合欧美视频| 精品午夜久久福利影院 | 欧美优质美女网站| 精品无人区卡一卡二卡三乱码免费卡|