﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-学习札记-最新评论</title><link>http://www.cppblog.com/Redwave/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Wed, 16 Dec 2009 05:15:29 GMT</pubDate><lastBuildDate>Wed, 16 Dec 2009 05:15:29 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 关于多态</title><link>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102697</link><dc:creator>红波</dc:creator><author>红波</author><pubDate>Mon, 07 Dec 2009 02:23:00 GMT</pubDate><guid>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102697</guid><description><![CDATA[#include &lt;iostream&gt;<br>#include &lt;typeinfo&gt;<br><br>class A<br>{<br>public:	<br>	virtual void Dis() = 0;<br>};<br><br>class B:public A<br>{<br>public:<br>	virtual void Dis()<br>	{<br>		std::cout &lt;&lt; &quot;B Make it!\n&quot; &lt;&lt; std::endl;<br>	}<br>};<br><br>template&lt;typename T&gt;<br>void show(T* abc)<br>{<br>	for (int i=0; i&lt;10; ++i)<br>	{<br>		abc[i].Dis();<br>	}<br>}<br><br>int main()<br>{<br>	A* pA;<br>	pA = new B[10];<br>	//下面将之强行转化为B*是可行的，但是若是在show()函数里面就有问题了，那样每次进行循环的时候都需要进行类型判断<br>	for (int i=0; i&lt;10; ++i)<br>	{<br>		((B*)pA+i)-&gt;Dis();   <br>	}<br><br>	if( typeid(*pA) == typeid(B) )<br>	{<br>		B* pB = dynamic_cast&lt;B*&gt;(pA);<br>		if(pB == 0) return 1;<br>		show(pB);<br>	}<br>	delete []pA;<br><br>	return 0;<br>}<img src ="http://www.cppblog.com/Redwave/aggbug/102697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Redwave/" target="_blank">红波</a> 2009-12-07 10:23 <a href="http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102697#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于多态</title><link>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102695</link><dc:creator>红波</dc:creator><author>红波</author><pubDate>Mon, 07 Dec 2009 02:11:00 GMT</pubDate><guid>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102695</guid><description><![CDATA[@陈梓瀚(vczh)<br>用了虚函数，我只是没有写出来<br>在Dis函数中，我循环调用了里面的虚函数，当指针自加时会不知自己的步长<br>也就是说，若是传入数组指针的个数num为1，那么肯定是不会有问题的，但是，若是传入100就有问题了<img src ="http://www.cppblog.com/Redwave/aggbug/102695.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Redwave/" target="_blank">红波</a> 2009-12-07 10:11 <a href="http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102695#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于多态</title><link>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102689</link><dc:creator>LOGOS</dc:creator><author>LOGOS</author><pubDate>Mon, 07 Dec 2009 01:06:00 GMT</pubDate><guid>http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102689</guid><description><![CDATA[@陈梓瀚(vczh)<br>你的槽吐得不对<br>没有虚函数能算多态吗<img src ="http://www.cppblog.com/Redwave/aggbug/102689.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Redwave/" target="_blank">LOGOS</a> 2009-12-07 09:06 <a href="http://www.cppblog.com/Redwave/archive/2009/12/07/102657.html#102689#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 关于多态</title><link>http://www.cppblog.com/Redwave/archive/2009/12/06/102657.html#102665</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sun, 06 Dec 2009 13:21:00 GMT</pubDate><guid>http://www.cppblog.com/Redwave/archive/2009/12/06/102657.html#102665</guid><description><![CDATA[为什么不用虚函数。<img src ="http://www.cppblog.com/Redwave/aggbug/102665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Redwave/" target="_blank">陈梓瀚(vczh)</a> 2009-12-06 21:21 <a href="http://www.cppblog.com/Redwave/archive/2009/12/06/102657.html#102665#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>