Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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++_C++11_Visual C++ - Fatal编程技术网

C++ 为什么我得不到所需程序的输出?

C++ 为什么我得不到所需程序的输出?,c++,c++11,visual-c++,C++,C++11,Visual C++,在这个程序中,我创建了一个对象,然后使用析构函数销毁了这个对象。我使用了一个静态变量作为计数器…程序编译成功,但没有得到任何输出…当我尝试在代码块上运行它时,我得到一条消息“代码块停止工作”。我在windows 10上使用gnu GCC编译器 #include <iostream> using namespace std; class ashish { int *age; public: static int classm; ashish() { *age=10; c

在这个程序中,我创建了一个对象,然后使用析构函数销毁了这个对象。我使用了一个静态变量作为计数器…程序编译成功,但没有得到任何输出…当我尝试在代码块上运行它时,我得到一条消息“代码块停止工作”。我在windows 10上使用gnu GCC编译器

#include <iostream>
using namespace std;
class ashish
{
int *age;
public:
static int classm;
ashish()
{
    *age=10;
    classm++;
}
~ashish(){
cout<<"this going to destroy the object";
delete age;}
};
int ashish::classm=0;
int main()
{
ashish *blast;
blast=new ashish();
cout<<ashish::classm<<"chec"<<endl;
delete blast;
return 0;
}
#包括
使用名称空间std;
阿什类
{
国际*年龄;
公众:
静态int类m;
ashish()
{
*年龄=10岁;
classm++;
}
~ashish(){

cout你没有为
age
分配内存,就像你使用
blast
blast=new ashish();

你没有为
age
分配内存,就像你使用
blast
blast=new ashish();

因为您没有缩进代码。因为您在不需要的时候使用了动态内存。当您使用调试器单步执行代码时会发生什么?因为您没有缩进代码。因为您在不需要的时候使用了动态内存。当您使用调试器单步执行代码时会发生什么?将*age=10;更改为age=new int a=90 in m得到如下错误:在构造函数'ashish::ashish()中“:错误:在'a'@AshishRanjan之前应为“;”,您必须在
int
之后和
a
之前添加一个
。更改*age=10;更改为age=new int a=90 in m后,出现如下错误:在构造函数'ashish::ashish()':错误:在'a'@AshishRanjan之前应为“;”,您必须在
int
之后和
a
之前添加