Problem B: C++习题 虚函数-计算图形面积
Description
编写一个程序,定义抽象基类Shape,由它派生出5个派生类: Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。
用虚函数分别计算几种图形面积,并求它们之和。
要求用基类指针数组,使它每一个元素指向一个派生类对象。
...
分类:
其他好文 时间:
2014-06-10 15:07:53
阅读次数:
286
Problem C: 抽象一个形状类
Description
阮宝同学期待着暑假来临,知道C++不好好复习麻烦不小。没有多态性,那就不叫面向对象,老师不划重点也能猜到。嘿嘿,自己做个经典题,怎么变题也不怕。老湿,再难的题还有木有?
Input
输入四个数,前两个是矩形的长和宽,后两个是三角形的底边长和高。
Output
分两行输出两个数,第一个是矩形的面积,...
分类:
其他好文 时间:
2014-06-10 14:36:15
阅读次数:
224
Problem A: C++习题 抽象基类
Description
编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。
Input
圆的半径
矩形的边长
三角...
分类:
其他好文 时间:
2014-06-10 14:32:52
阅读次数:
170
1,从存储空间角度
虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过
vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度 虚函数主要用于在...
分类:
其他好文 时间:
2014-06-10 12:51:11
阅读次数:
142
不要在类的构造或者析构函数中调用虚函数,因为这种调用不会如你所愿,即使成功一点,最后还会使你沮丧不已。如果你以前是一个Java或者C#程序员,请密切注意本节的内容-这正是C++与其它语言的大区别之一。
假设你有一个为股票交易建模的类层次结构,例如买单,卖单,等等。为该类交易建立审计系统是非常重要的....
分类:
其他好文 时间:
2014-06-10 12:49:19
阅读次数:
154
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《.....
分类:
其他好文 时间:
2014-06-10 12:31:12
阅读次数:
220
1.)方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding....
分类:
其他好文 时间:
2014-06-09 18:38:25
阅读次数:
259
之前一直用C++编程,对虚函数还是一些较为肤浅的理解。可近期由于某些原因搞了下Java,发现有些知识点不熟,于是站在先驱巨人的肩上谈谈C++与Java中虚函数问题。Java中的虚函数
以下是段别人的代码,输入结果竟是Base,这让一直以来用C/C++的我有些莫不着头脑,不是Java里对象是引用吗?....
分类:
编程语言 时间:
2014-06-09 16:02:06
阅读次数:
241
初学MFC添加函数时,总是纠结于是 Add windows message handler
or Add virtual function说到底不理解MFC中虚函数与消息处理函数的设计区别本人理解:虚函数是层层继承的,子类Add virtual
function只是去改写相应功能。虚函数一般都是程序...
分类:
其他好文 时间:
2014-06-08 19:42:06
阅读次数:
205