发布时间:2012-12-21 21:57:48
在UML类图中,类与类之间有几种常见关系:依赖、关联、聚合、组合、泛化。 1、依赖(Dependency) 依赖是一种很有用的关系,它用来表述一个类A“use”了另一个类B。A可以是通过任何方式“use”类B,如: 1)A的成员函数的返回值为B; 2)A的成员函数使用B作为函数参数; 3)A的成员函数的内部实现使用了B; 依赖关系通常使用虚线箭头“---->”表示,箭头指向被“use”的类。 在C++代码中,依赖关系是这样对应的: 点击(此处)折叠或打开class A{ public......【阅读全文】
发布时间:2012-12-15 23:26:28
在我们平时写代码过程中,有时候想知道我们完成的程序到底有多少行代码(据说很多面试的童鞋会被面试官问到这个问题)。在这里,我分享一下我自己统计代码的方法。 我们这里以统计“.h”和“.cpp”为后缀的源码文件为例,但是同样可以用于统计“.hpp”、“.cc”、“.c”、“.py”、“.java”、“.html”等所有后缀名文件。 首先看一下目录结构 : 要统计代码行数,我们需要用到wc命令。“wc -l filename”可以用来统计filename的行数。比如 wc -l test.cpp 要统计所有的“.h”和".cpp"的文件行数,还需要使用find命令。方法一: 分别统计“.h”和“......【阅读全文】
发布时间:2012-12-13 23:00:09
Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。 本文主要简单介绍一下libxml2在linux下的C++使用的基础,操作系统为Ubuntu。 一、libxml2的安装 1、下载libx......【阅读全文】
发布时间:2012-12-13 22:20:57
在正题的展开前,我们先来看一段C++代码:class IX { public: virtual void Fx1() = 0; virtual void Fx2() = 0;}; 这是一段简单的接口声明代码:IX是用于实现接口的纯抽象基类。纯抽象基类指的是仅包括纯虚函数的基类。纯虚函数是指用=0标记的虚函数,我们往往把=0称作纯虚函数指示符。 虚基类是不能实例化的,换句话说,虚基类只是提供一个interface的......【阅读全文】