首页 > 代码库 > TinyXml友员类的复习
TinyXml友员类的复习
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友员类的复习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。