栈的抽象基类的实现:(不用抽象基类也是可以的,为了使用虚函数方便)
#ifndef STACK
#define STACK
//栈的抽象基类
template
class Stack
{
public:
Stack(){}
~Stack(){}
virtual void Push(const T& x)=0;
virtual bool Pop(T& x...
分类:
其他好文 时间:
2015-06-22 12:30:27
阅读次数:
198
#include using namespace std;class common{public: virtual void hello(){couthello(); return 0;}
分类:
编程语言 时间:
2015-06-21 15:48:53
阅读次数:
158
当类中声明虚函数时,编译器会在类中生成一个虚函数表。
virtual成员函数会被编译器放入虚函数表中。
当存在虚函数时,每个对象中都有一个指向虚函数表的指针(C++编译器给父类对象、子类对象提前布局vptr指针;)最后通过demo证明了vptr指针的存在性...
分类:
编程语言 时间:
2015-06-17 09:46:14
阅读次数:
177
虚函数为了重载和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public:virtu...
分类:
其他好文 时间:
2015-06-16 18:54:40
阅读次数:
153
以下两段程序的输出是什么?程序1:#include "stdio.h"class Base { public: int Bar(char x) { return (int)(x); } virtual int Bar(int x) { ...
分类:
编程语言 时间:
2015-06-15 18:27:25
阅读次数:
1304
主要内容:1、C++类继承中的构造函数和析构函数2、C++多态性中的静态绑定和动态绑定3、C++多态性中析构函数声明为虚函数1、C++类继承中的构造函数和析构函数在C++的类继承中,建立对象时,首先调用基类的构造函数,然后在调用下一个派生类的构造函数,依次类推;析构对象时,其顺序正好与构造相反;具体...
分类:
编程语言 时间:
2015-06-14 22:46:07
阅读次数:
209
C++ 接口(抽象类)接口描述了类的行为和功能,而不需要完成类的特定实现。C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的,如下所...
分类:
其他好文 时间:
2015-06-14 13:45:45
阅读次数:
148
C++ 多态多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。下面的实例中,基类 Shape 被派生为两个类,如下所示:#include using namespace std....
分类:
其他好文 时间:
2015-06-14 12:19:48
阅读次数:
118
输入代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:sum123.cpp
*作 者:林海云
*完成日期:2015年6月13日
*版 本 号:v2.0
*
*问题描述:写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。...
分类:
其他好文 时间:
2015-06-13 11:23:18
阅读次数:
139
输入代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:sum123.cpp
*作 者:林海云
*完成日期:2015年6月13日
*版 本 号:v2.0
*
*问题描述:
*程序输入:无设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。
设计派生类CCube、CBal...
分类:
其他好文 时间:
2015-06-13 11:22:21
阅读次数:
125