锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久99精品久久久久久齐齐,久久99精品国产99久久6男男,久久这里只有精品视频99http://www.shnenglu.com/foobar/zh-cnWed, 07 May 2025 15:52:50 GMTWed, 07 May 2025 15:52:50 GMT60Advanced Test in C: The 0x10 Best Questions for C Programmers http://www.shnenglu.com/foobar/archive/2007/12/03/37683.htmlfoobarfoobarMon, 03 Dec 2007 07:12:00 GMThttp://www.shnenglu.com/foobar/archive/2007/12/03/37683.htmlhttp://www.shnenglu.com/foobar/comments/37683.htmlhttp://www.shnenglu.com/foobar/archive/2007/12/03/37683.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37683.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37683.htmlAdvanced Test in C: The 0x10 Best Questions for C Programmers


foobar 2007-12-03 15:12 鍙戣〃璇勮
]]>
闅愯棌http://www.shnenglu.com/foobar/archive/2007/11/23/37221.htmlfoobarfoobarFri, 23 Nov 2007 12:44:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/23/37221.htmlhttp://www.shnenglu.com/foobar/comments/37221.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/23/37221.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37221.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37221.html 

#include <iostream.h>
class Base
{
public:
virtual void f(float x){ cout << "Base::f(float) " << x << endl; }
void g(float x){ cout << "Base::g(float) " << x << endl; }
void h(float x){ cout << "Base::h(float) " << x << endl; }
};
class Derived : public Base
{
public:
virtual void f(float x){ cout << "Derived::f(float) " << x << endl; }
void g(int x){ cout << "Derived::g(int) " << x << endl; }
void h(float x){ cout << "Derived::h(float) " << x << endl; }
};

void main(void)
{
Derived d;
Base 
*pb = &d;
Derived 
*pd = &d;
// Good : behavior depends solely on type of the object
pb->f(3.14f); // Derived::f(float) 3.14
pd->f(3.14f); // Derived::f(float) 3.14
// Bad : behavior depends on type of the pointer
pb->g(3.14f); // Base::g(float) 3.14
pd->g(3.14f); // Derived::g(int) 3 (surprise!)
// Bad : behavior depends on type of the pointer
pb->h(3.14f); // Base::h(float) 3.14 (surprise!)
pd->h(3.14f); // Derived::h(float) 3.14
}

class Base
{
public:
void f(int x);
};
class Derived : public Base
{
public:
void f(char *str);
};
void Test(void)
{
Derived 
*pd = new Derived;
pd
->f(10); // error
//why?            
just imagine multiple inheritance
}


foobar 2007-11-23 20:44 鍙戣〃璇勮
]]>
闅愬紡綾誨瀷杞崲瀵艱嚧閲嶈澆鍑芥暟浜х敓浜屼箟鎬?/title><link>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html</link><dc:creator>foobar</dc:creator><author>foobar</author><pubDate>Fri, 23 Nov 2007 12:35:00 GMT</pubDate><guid>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html</guid><wfw:comment>http://www.shnenglu.com/foobar/comments/37220.html</wfw:comment><comments>http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/foobar/comments/commentRss/37220.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/foobar/services/trackbacks/37220.html</trackback:ping><description><![CDATA[<p> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000"># include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鍑芥暟澹版槑</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #008000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鍑芥暟澹版槑</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #008000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">cout </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> output int </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> endl ;<br></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">}<br></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> output( </span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> x)<br></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">cout </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> output float </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> endl ;<br></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000"></span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000"> y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">output(x); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 1</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">17</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(y); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output float 1</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">18</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 1<br></span><span style="COLOR: #008080">19</span> <span style="COLOR: #008000"></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output(0.5); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> error! ambiguous call, 鍥犱負鑷姩綾誨瀷杞崲</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">20</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">)); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output int 0</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">21</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">output(</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">)); </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> output float 0.5</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">22</span> <span style="COLOR: #008000"></span><span style="COLOR: #000000">}</span></div> <img src ="http://www.shnenglu.com/foobar/aggbug/37220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/foobar/" target="_blank">foobar</a> 2007-11-23 20:35 <a href="http://www.shnenglu.com/foobar/archive/2007/11/23/37220.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁扮粍閫鍖栦負鎸囬拡http://www.shnenglu.com/foobar/archive/2007/11/23/37218.htmlfoobarfoobarFri, 23 Nov 2007 12:22:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/23/37218.htmlhttp://www.shnenglu.com/foobar/comments/37218.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/23/37218.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/37218.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/37218.html{
cout<< sizeof(a) << endl; // 4 瀛楄妭鑰屼笉鏄?00 瀛楄妭
}

foobar 2007-11-23 20:22 鍙戣〃璇勮
]]>
atexit -- function to be executed on exithttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.htmlfoobarfoobarThu, 15 Nov 2007 15:47:00 GMThttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.htmlhttp://www.shnenglu.com/foobar/comments/36729.htmlhttp://www.shnenglu.com/foobar/archive/2007/11/15/36729.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/36729.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/36729.html
int atexit ( void ( * function ) (void) );               <cstdlib>

 The function pointed by the function pointer argument is called when the program terminates normally.

If more than one atexit function has been specified by different calls to this function, they are all executed in reverse order as a stack, i.e. the last function specified is the first to be executed at exit.

One single function can be registered to be executed at exit more than once.

C++ implementations are required to support the registration of at least 32 atexit functions.

Parameters

function
Function to be called. The function has to return no value and accept no arguments.

Return Value

A zero value is returned if the function was successfully registered, or a non-zero value if it failed.

Example

/* atexit example */
            #include <stdio.h>
            #include <stdlib.h>
            void fnExit1 (void)
            {
            puts ("Exit function 1.");
            }
            void fnExit2 (void)
            {
            puts ("Exit function 2.");
            }
            int main ()
            {
            atexit (fnExit1);
            atexit (fnExit2);
            puts ("Main function.");
            return 0;
            }
            

Output:

            Main function.
Exit function 2.
Exit function 1.



foobar 2007-11-15 23:47 鍙戣〃璇勮
]]>
Gotchas in the C++ programing languagehttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.htmlfoobarfoobarMon, 04 Jun 2007 03:11:00 GMThttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.htmlhttp://www.shnenglu.com/foobar/comments/25442.htmlhttp://www.shnenglu.com/foobar/archive/2007/06/04/25442.html#Feedback0http://www.shnenglu.com/foobar/comments/commentRss/25442.htmlhttp://www.shnenglu.com/foobar/services/trackbacks/25442.htmlInitializer lists

In C++, it is the order of the class inheritance and of the member variables that determine the initialization order, not the order of an initializer list:



#include 
<iostream>

class CSomeClass
{
public:
CSomeClass(
int n)
{
std::cout 
<< "CSomeClass constructor with value ";
std::cout 
<< n << std::endl;
}

}
;

class CSomeOtherClass
{
public:
CSomeOtherClass() 
//In this example, despite the list order,
: obj2(2), obj1(1//obj1 will be initialized before obj2.
{
//Do nothing.
}

private:
CSomeClass obj1;
CSomeClass obj2;
}
;

int main(void)
{
CSomeOtherClass obj;
return 0;
}



foobar 2007-06-04 11:11 鍙戣〃璇勮
]]>
精品久久久无码中文字幕| 亚洲欧美精品一区久久中文字幕| 久久精品国产亚洲AV香蕉| 亚洲愉拍99热成人精品热久久 | 久久国产影院| 一本一道久久综合狠狠老| 人妻精品久久无码专区精东影业| 欧美激情精品久久久久| 少妇人妻综合久久中文字幕| 久久精品国产精品青草| 久久久久久久女国产乱让韩| 一级做a爱片久久毛片| 久久亚洲私人国产精品| 久久九色综合九色99伊人| 久久精品一本到99热免费| 亚洲精品国精品久久99热| 色成年激情久久综合| 日日躁夜夜躁狠狠久久AV| 日批日出水久久亚洲精品tv| 久久免费美女视频| 久久久久亚洲av无码专区喷水| 亚洲国产天堂久久综合| 久久精品综合一区二区三区| 国产精品久久久久久久久| 香蕉久久夜色精品升级完成| 婷婷久久综合| 久久久久这里只有精品| 国内精品久久久久国产盗摄| 99久久国产综合精品麻豆| 久久精品中文字幕无码绿巨人| 久久亚洲精品无码VA大香大香| 亚洲欧美国产日韩综合久久| 久久AⅤ人妻少妇嫩草影院| 国产高潮久久免费观看| 精品久久久久久国产| 久久美女网站免费| 精品久久久久久国产牛牛app| 亚洲午夜久久久精品影院| 久久精品免费网站网| 久久久久久A亚洲欧洲AV冫| 欧美一级久久久久久久大|