﻿<?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++博客-cly2012</title><link>http://www.cppblog.com/cly2012/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2026 00:26:00 GMT</lastBuildDate><pubDate>Wed, 15 Apr 2026 00:26:00 GMT</pubDate><ttl>60</ttl><item><title>MFC中cannot find the definition (implementation) of this function 解决方法 </title><link>http://www.cppblog.com/cly2012/archive/2012/11/03/194201.html</link><dc:creator>cly</dc:creator><author>cly</author><pubDate>Sat, 03 Nov 2012 08:22:00 GMT</pubDate><guid>http://www.cppblog.com/cly2012/archive/2012/11/03/194201.html</guid><wfw:comment>http://www.cppblog.com/cly2012/comments/194201.html</wfw:comment><comments>http://www.cppblog.com/cly2012/archive/2012/11/03/194201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cly2012/comments/commentRss/194201.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cly2012/services/trackbacks/194201.html</trackback:ping><description><![CDATA[<strong><font color="#0000ff" size="5">使用vc6 在点击左侧class view中的一个方法实现时出现下面错误:<br /></font></strong><br /><strong><font color="#0000ff" size="5"><span style="color: red">&nbsp;&nbsp;&nbsp; cannot find the definition (implementation) of this function&nbsp;</span></font></strong><br /><strong><font color="#0000ff" size="5">&nbsp;&nbsp;&nbsp; <br />解决方法：<br /><br />&nbsp;<span style="color: red">&nbsp;&nbsp; 删除工作目录下面的*.opt *.ncb *.plg *.aps然后rebuld all</span></font></strong><br /><img src ="http://www.cppblog.com/cly2012/aggbug/194201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cly2012/" target="_blank">cly</a> 2012-11-03 16:22 <a href="http://www.cppblog.com/cly2012/archive/2012/11/03/194201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>虚函数的定义方式和注意事项</title><link>http://www.cppblog.com/cly2012/archive/2012/10/20/193567.html</link><dc:creator>cly</dc:creator><author>cly</author><pubDate>Sat, 20 Oct 2012 05:03:00 GMT</pubDate><guid>http://www.cppblog.com/cly2012/archive/2012/10/20/193567.html</guid><wfw:comment>http://www.cppblog.com/cly2012/comments/193567.html</wfw:comment><comments>http://www.cppblog.com/cly2012/archive/2012/10/20/193567.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cly2012/comments/commentRss/193567.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cly2012/services/trackbacks/193567.html</trackback:ping><description><![CDATA[<span style="color: #0000ff">（一</span><span style="color: #0000ff">）</span>&nbsp;&nbsp;<span style="color: #0000ff">&nbsp; 定义虚函数的语法结构式：</span>&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red">&nbsp; virtual 函数类型&nbsp; 虚函数名称（参数列表）;</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp; 利用虚函数可以实现多态性，即同一接口，实现不同功能。<br />（二）&nbsp;&nbsp;&nbsp; 定义虚函数注意事项：<br />&nbsp;&nbsp;&nbsp; 1，非类的成员函数不能定义为虚函数，类的成员函数中静态成员函数和构造函数也不能定义为虚函数，但可以将析构函数定义为虚函数。实际上，优秀的程序员常常把基类的析构函数定义为虚函数。因为，将基类的析构函数定义为虚函数后，当利用delete删除一个指向派生类定义的对象指针时，系统会调用相应的类的析构函数。而不将析构函数定义为虚函数时，只调用基类的析构函数。<br />&nbsp;&nbsp;&nbsp; 2，只需要在声明函数的类体中使用关键字virtual将函数声明为虚函数，而定义函数时不需要使用关键字virtual。<br />&nbsp;&nbsp;&nbsp; 3，当将基类中的某一个成员函数声明为虚函数后，派生类中的同名函数自动成为虚函数。<br />&nbsp;&nbsp;&nbsp; 4，如果声明了某个成员函数为虚函数，则在该类中不能出现和这个成员函数同名并且返回值，参数个数，类型都相同的非虚函数。在以该类为基类的派生类中，也不能出现这种同名函数。</span><img src ="http://www.cppblog.com/cly2012/aggbug/193567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cly2012/" target="_blank">cly</a> 2012-10-20 13:03 <a href="http://www.cppblog.com/cly2012/archive/2012/10/20/193567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么要引入虚函数？同名覆盖的定义？</title><link>http://www.cppblog.com/cly2012/archive/2012/10/20/193565.html</link><dc:creator>cly</dc:creator><author>cly</author><pubDate>Sat, 20 Oct 2012 04:36:00 GMT</pubDate><guid>http://www.cppblog.com/cly2012/archive/2012/10/20/193565.html</guid><wfw:comment>http://www.cppblog.com/cly2012/comments/193565.html</wfw:comment><comments>http://www.cppblog.com/cly2012/archive/2012/10/20/193565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cly2012/comments/commentRss/193565.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cly2012/services/trackbacks/193565.html</trackback:ping><description><![CDATA[<span style="color: #0000ff">&nbsp;&nbsp;&nbsp;在类的继承中，基类和派生类中定义名字相同,参数个数和参数类型也相同的函数来实现不同的功能。这种现象叫做</span><span style="color: #ff0000">同名覆盖</span><span style="color: #0000ff">。在C++中，通过具体的对象来调用这些同名函数。基类定义的对象可以调用基类的同名函数，派生类定义的对象可以调用派生类中的同名函数。当派生类定义的对象要调用基类的同名函数时，必须使用作用域限定符&#8220;::&#8221;，其访问方法是：</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">&nbsp; 派生类定义的对象.基类名称::函数名(参数列表)</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp; 那么，能不能像使用加号一样，使用同一个形式就能调用不同的函数，实现不同的功能呢？C++通过虚函数解决了这个问题。</span><img src ="http://www.cppblog.com/cly2012/aggbug/193565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cly2012/" target="_blank">cly</a> 2012-10-20 12:36 <a href="http://www.cppblog.com/cly2012/archive/2012/10/20/193565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>string类字符串和字符数组的几种初始化方法</title><link>http://www.cppblog.com/cly2012/archive/2012/10/12/193201.html</link><dc:creator>cly</dc:creator><author>cly</author><pubDate>Fri, 12 Oct 2012 02:54:00 GMT</pubDate><guid>http://www.cppblog.com/cly2012/archive/2012/10/12/193201.html</guid><wfw:comment>http://www.cppblog.com/cly2012/comments/193201.html</wfw:comment><comments>http://www.cppblog.com/cly2012/archive/2012/10/12/193201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cly2012/comments/commentRss/193201.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cly2012/services/trackbacks/193201.html</trackback:ping><description><![CDATA[<div style="color: purple">（一）string类字符串初始化方法：<br />&nbsp;&nbsp;&nbsp;（1）定义的时候直接用字符串初始化：string s1="hello";。<br />&nbsp;&nbsp;&nbsp;（2）定义的时候用字符数组进行初始化：char mess[]="beijing"; string s2=mess;。<br />&nbsp;&nbsp;&nbsp;（3）定义的时候用另外一个字符串对象进行初始化：string s3=s1;。<br />&nbsp;&nbsp;&nbsp;（4）先定义，然后再用赋值的方法初始化：string s4;s4="hello";。<br />（二）字符数组的初始化方法：<br />&nbsp;&nbsp;&nbsp;（1）使用初始化字符常量列表。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char a[5];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[5]={'h','e','l','l','0'};<br />&nbsp;&nbsp;&nbsp;（2）使用初始化字符串常量列表。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char b[]={"hello"};</div><img src ="http://www.cppblog.com/cly2012/aggbug/193201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cly2012/" target="_blank">cly</a> 2012-10-12 10:54 <a href="http://www.cppblog.com/cly2012/archive/2012/10/12/193201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>