Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态内存绑定_C++_Oop_Polymorphism_Late Binding - Fatal编程技术网

C++ 动态内存绑定

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

下面是与多态性(Latebinding)相关的基类和派生类:

类基
{
....
};
类派生:公共基
{
....
};
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(); 
}