多态也是C++中的一个重要的方面,多态和动态类型,虚函数本质上是指相同的事情。
1 虚函数
类中的成员函数原型前面加上virtual 表面这个函数是个虚函数。虚函数的目的是为了在继承它的派生类中重新定义这个函数,以便于通过基类的指针或引用在运行时对派生类的函数进行调用。
2 派生类和虚函数
派生类一般情况下要重定义所继承的虚函数,有几个注意事项。
虚函数的声明必须和基类中...
分类:
编程语言 时间:
2014-07-26 15:31:24
阅读次数:
265
以前我们说重定义通常是函数或者变量的重定义,今天遇到了一个新类型的重定义errorC2365
#include
using namespace std;
class Base
{
public:
Base(void);
~Base(void);
size_t size()const{return n;}
protected:
//private:
size_t n;
//int n(...
分类:
编程语言 时间:
2014-07-26 01:58:16
阅读次数:
223
1. readn 和 writen 1.1 基础巩固: read 和 write 函数的返回值 1.1.1 read 函数原型为:ssize_t read(int fd, void* buf, size_t count); (这里的 void *在标准 C 中表示通用指针即任意类型的指针都可...
分类:
系统相关 时间:
2014-07-26 01:51:56
阅读次数:
472
模板方法模式:
定义:定义一个操作中的算法的骨架,而将一些步骤延伸到子类中。模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。
(1),用了继承,并且肯定这个继承有意义的情况下,就应该要成为子类的模板,所以重复的代码都应该提升到父类中,而不是让每个子类去重复。
(2),当我们要完成某一个细节层次一致的过程或者一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常...
分类:
编程语言 时间:
2014-07-24 23:04:33
阅读次数:
194
1、错误问题
2、解决方法,声明BundleReader::tell()时,将long int改为ssize_t。
3、还有不懂地方加群 373364032 37
3364032...
分类:
移动开发 时间:
2014-07-23 17:20:21
阅读次数:
575
当一个模块引用另外一个模块时,高层模块可以改变低层模块用parameter定义的参数值,改变低层模块的参数值可采用以下两种方式: 1)defparam 重定义参数 语法:defparam path_name = value ; 低层模块的参数可以通过层次路径名重新定义,如下例:module t...
分类:
其他好文 时间:
2014-07-22 23:19:57
阅读次数:
1519
同一种语句有多重形态,在不同的类型中,有不同的属性和表现方法;
多态原理;多态的是函授指针
多态的实现效果
多态:同样的调用语句有多种不同的表现形态;
多态实现的三个条件
有继承、有virtual重写、有父类指针(引用)指向子类对象。
多态的C++实现
virtual关键字,告诉编译器这个函数要支持多态;不要根据指针类型判断如何调用;而是要根据指针所指向的实际对象...
分类:
其他好文 时间:
2014-07-22 17:59:51
阅读次数:
249
1. 重载操作符必须具有一个类类型操作数
用于内置类型的操作符,其含义不能改变。例如,内置的整型加号操作符不能重定义:
// error: cannotredefine built-in operator for ints
int operator+(int, int);
也不能为内置数据类型重定义加号操作符。例如,不能定义接受两个数组类型操作数的operator+。
重载操作...
分类:
编程语言 时间:
2014-07-18 11:11:55
阅读次数:
273
为什么对于模板,声明和定义都在写在一起?为什么有的内联函数需要写在头文件中?为什么有时会出现无法解析的外部符号?为什么有时会出现aaa已在bbb中重定义的错误?
分类:
编程语言 时间:
2014-07-13 21:46:28
阅读次数:
292