C++ 动态内存绑定
下面是与多态性(Latebinding)相关的基类和派生类:C++ 动态内存绑定,c++,oop,polymorphism,late-binding,C++,Oop,Polymorphism,Late Binding,下面是与多态性(Latebinding)相关的基类和派生类: 类基 { .... }; 类派生:公共基 { .... }; int main() { int n; cin>>n; 基础*pt; pt=新派生[n]; 对于(int i=0;i基的数组不是派生的数组。派生的实例可以大于基的实例,然后当数组被视为基的数组时,地址计算就会出错。因此,标准在这种情况下指定了未定义的行为 而不是使用一组指针来指向代码> Base< /C> > .< /P>注释在代码中会有所帮助。请提供.无效>主/ 在C或C
类基
{
....
};
类派生:公共基
{
....
};
int main()
{
int n;
cin>>n;
基础*pt;
pt=新派生[n];
对于(int i=0;i基的数组不是派生的数组。派生的实例可以大于基的实例,然后当数组被视为基的数组时,地址计算就会出错。因此,标准在这种情况下指定了未定义的行为
而不是使用一组指针来指向代码> Base< /C> > .< /P>注释在代码中会有所帮助。请提供.<代码>无效>主/ <代码>在C或C++中无效。这使得人们不太容易尝试代码,并且误导新手成为不好的习惯。请不要用“代码>空main < /代码>发布代码。请为您修复。谢谢。对不起,你是对的-我的答案是错的。我删除了它,并对你的答案投了更高的票!
class Base
{
....
};
class Derive:public Base
{
....
};
int main()
{
int n;
cin>>n;
Base *pt;
pt=new Derive[n];
for(int i=0;i<n;i++)
pt[i].Input();
}