大家好,帮忙看看下面这个程序的输出结果,具体题目记不清了,大体是这样#include <stdio.h>
class base
{
public:
base(int i);
~base();
private:
int m_i;};
base::base(int i):m_i
{
printf("step %d",i);
}
base::~base()
{
printf("step %d",m_i);
}
base::base(5);
void main()
{
printf("step 1\n");
base a=new base(4);
delete a;
}
如果有错还希望大师们帮忙改改,谢谢了,这是昨天的一道笔试题,可是回来想了半天调不出来
class base
{
public:
base(int i);
~base();
private:
int m_i;};
base::base(int i):m_i
{
printf("step %d",i);
}
base::~base()
{
printf("step %d",m_i);
}
base::base(5);
void main()
{
printf("step 1\n");
base a=new base(4);
delete a;
}
如果有错还希望大师们帮忙改改,谢谢了,这是昨天的一道笔试题,可是回来想了半天调不出来
解决方案 »
- new Button()生成的按钮怎么链接事件处理程序呢?
- 关于 最大公约数和最小公倍数的问题..
- IMemAllocator成员函数GetBuffer调用失败,怎么解决
- 如何从VARIANT这个结构中提取所要求的字符串?
- 错误:libc.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrt.lib(MSVCRT.dll)怎么解决,在debug下可以但在Release下
- CTreeCtrl不显示条目的问题!谢谢大家!
- DAO对象为什么打不开ACCESS2000及以上版本的数据库????
- 对话框的小问题,谁帮忙解决马上给100分,分不够马上加分.绝不食言
- 100分请教:在Unix下编程搜索文件内容如何实现?!
- jpeg压缩
- 关于hdc的问题
- 对话框前端显示问题
改成
base::base(int i):m_i(i)
base::base(5);//这句是不应该有的,要删掉.
#include <stdio.h>
class base
{
public:
base(int i);
~base();
private:
int m_i;};
base::base(int i):m_i(i) // m_i(i)
{
printf("step %d\n",i);
}
base::~base()
{
printf("step %d\n",m_i);
}
base base1(5); //是否是定义全局变量?
void main()
{
printf("step 1\n");
base *a=new base(4);
delete a;
}
// 和下面的一样
base::base(int i)
{
m_i = i;
printf("step %d\n",i);
}
{
m_i = i;
printf("step %d\n",i);
}
和
base::base(int i):m_i(i) // m_i(i)
{
printf("step %d\n",i);
}
区别还是有的~~推荐用下面的·效果问题