由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问一个问题。。
相关主题
为什么指向子类对象的基类指针能访问子类中重载的虚函数,而不类设计问题求助
C++ virtual function 定义在 derived class 会怎么样?请教 一个c++ lambda function 的问题
functional programming的两个方面C++: friend function
a simple design question[合集] can destructor be pure virtual function in c++?
static polymorphism一问friend function 不能virtual 怎么搞呢?
请教一个python OOP 实现的问题请问c++中操作符可以声明为虚函数吗?
请教一个class design的问题弱问一个virtual function的问题
virtual function questiona question about hash.
相关话题的讨论汇总
话题: cbase话题: function话题: int话题: cderived2话题: cderived1
进入Programming版参与讨论
1 (共1页)
n*****u
发帖数: 198
1
class CBASE{
protected:
int a;
public:
int b;
xxxxx
};
CDERIVED1, CDERIVED2都从CBASE继承过来
有一个function希望对所有的CBASE的b操作,
void function( CBASE* p , int size){
for(int k=0; k p[k].b = xxxxxx;
}
}
main()
{
CBASE *p0 = new CBASE[size0];
CBASE *p1 = new CDERIVED1[size1];
CBASE *p2 = new CDERIVED2[size2];

function ( p0,size0);
function ( p1,size1);
function (p2,size2);
只有第一个call是正确的,后面两个因为derived class又定义了其他成员,用CBASE*
的pointer好像会出错。。。有什么办法可以让fu
t****t
发帖数: 6806
2
you can't mix array and polymorphism

【在 n*****u 的大作中提到】
: class CBASE{
: protected:
: int a;
: public:
: int b;
: xxxxx
: };
: CDERIVED1, CDERIVED2都从CBASE继承过来
: 有一个function希望对所有的CBASE的b操作,
: void function( CBASE* p , int size){

n*****u
发帖数: 198
3
thanks...那又要想array 又想polymorphism就没有办法了?

【在 t****t 的大作中提到】
: you can't mix array and polymorphism
q*****g
发帖数: 72
4
use vector instead

【在 n*****u 的大作中提到】
: thanks...那又要想array 又想polymorphism就没有办法了?
s*******d
发帖数: 59
5
base ** p;
p = new base*[?];
or use container?
1 (共1页)
进入Programming版参与讨论
相关主题
a question about hash.static polymorphism一问
why use template?请教一个python OOP 实现的问题
关于c++ classes的interview test请教一个class design的问题
C++面试题virtual function question
为什么指向子类对象的基类指针能访问子类中重载的虚函数,而不类设计问题求助
C++ virtual function 定义在 derived class 会怎么样?请教 一个c++ lambda function 的问题
functional programming的两个方面C++: friend function
a simple design question[合集] can destructor be pure virtual function in c++?
相关话题的讨论汇总
话题: cbase话题: function话题: int话题: cderived2话题: cderived1