码迷,mamicode.com
首页 > 其他好文 > 详细

TinyXml友员类的复习

时间:2017-08-13 09:59:47      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:关系   val   base   一个   之间   友元类   实验   源码   ldo   

0x00. 遇到问题
TiXmlNode 不提供节点属性查询,跟进代码查看有friend class TiXmlElement;
友员类,忘记怎么玩了╮(╯▽╰)╭。

0x01. 将代码抓取出来

class TiXmlNode : public TiXmlBase
{
friend class TiXmlDocument;
friend class TiXmlElement;
}

class TiXmlElement
{

}


A.一个段子轻松记住友元类之间的关系!(′▽′)ψ
  甲愿意把甲的秘密告诉乙,但是乙不见得愿意把乙自己的秘密告诉甲。
  推导出来:TiXmlElement可以访问TiXmlNode,但TiXmlNode不可以访问TiXmlNode

0x02. 实验
(′▽′)ψ 最后在tinyxml 源码中找到证据,完美解决上面推导、

 1 const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const
 2 {
 3 const TiXmlNode* node;
 4 
 5 for (  node = FirstChild( _value );
 6     node;
 7     node = node->NextSibling( _value ) )
 8 {
 9   if ( node->ToElement() )
10   return node->ToElement();
11 }
12   return 0;
13 }
14 
15  

 

TinyXml友员类的复习

标签:关系   val   base   一个   之间   友元类   实验   源码   ldo   

原文地址:http://www.cnblogs.com/ReacherGua/p/7351638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!