
C++沉思录
路痴的旅行
一生有你
展开
-
C++代理类
1.为什么c++需要代理类考虑如下的一个小实例:假设有一个类,命名为RoadVehicle,代表陆地上的车辆,简单的定义如下://定义陆地上的车辆 class RoadVehicle { public: RoadVehicle(){} //默认构造函数,容许声明RoadVehicle的数组 double get_weight()const { ...转载 2018-03-01 20:10:28 · 833 阅读 · 0 评论 -
规定不能创建抽象基类的对象的原因
抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层。 (1)抽象类的定义: 称带有纯虚函数的类为抽象类。 (2)抽象类的作用: 抽象类的主要作用是将有关的操作作为结果接口组织在一个继承层次结构中,由它来为派生类提供一个公共的根,派生类将具体实现在其基类中作为接口的操作。所以派生类实际上刻画了一组子类的操作接口的通用语义,这些语...转载 2018-03-02 21:50:52 · 1737 阅读 · 0 评论 -
C++编译与链接(1)------ 编译与链接过程
大家知道计算机使用的一系列的1和0那个一个C++语言程序又是如何从一个个.h和.cpp文件变成包含1和0的可执行文件呢?可以认为有以下的几个环节源程序->预处理->编译和优化->生成目标文件->链接->可执行文件 1.预处理C++的预处理是指在C++程序源代码被编译之前,由预处理器对C++程序源代码进行的处理。这个过程并不对程序的源代码进行解析。这里的预处理器(pre...转载 2018-05-01 23:17:16 · 185 阅读 · 0 评论 -
C++编译与链接(2)------ 浅谈内部链接与外部链接
发现每次写技术博客时,都会在文章开头处花费一番功夫 ...从前,有一个程序员....他的名字叫magicsoar 为什么有时会出现aaa已在bbb中重定义的错误? 为什么有时会出现无法解析的外部符号? 为什么有的内联函数的定义需要写在头文件中? 为什么对于模板,声明和定义都要写在一起? 读完这篇博客,相信你会有一个初步的认识 注,我们现在谈的编译其实可以认为由4个环节组成,其中有编译环...转载 2018-05-01 23:32:09 · 203 阅读 · 0 评论