谁帮我解一下这个c++程序问题?

定义一个哺乳动物类Mammal,再由此派生出狗类Dog。声明一个Dog类对象,观察基类和派生类的构造函数,析构函数的调用顺序。

#include<iostream.h>
class Mammal
{
public:
Mammal(){cout<<"这是Mammal的构造函数"<<endl;}
~Mammal(){cout<<"这是Mammal的析构函数"<<endl;}
};

class Dog: public Mammal
{
public:
Dog(){cout<<"这是Dog的构造函数"<<endl;}
~Dog(){cout<<"这是Dog的析构函数"<<endl;}
};

void main()
{
Dog dog;
}

这个程序的构造函数和析构函数实际没做它应该做的事情,只是打印了调用时的语句,但是它很清楚的表明了他们的调用次序~
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-07-01
#include<iostream.h>
class
Mammal
{
public:
Mammal(){cout<<"这是Mammal的构造函数"<<endl;}
~Mammal(){cout<<"这是Mammal的析构函数"<<endl;}
};
class
Dog:
public
Mammal
{
public:
Dog(){cout<<"这是Dog的构造函数"<<endl;}
~Dog(){cout<<"这是Dog的析构函数"<<endl;}
};
void
main()
{
Dog
dog;
}
这个程序的构造函数和析构函数实际没做它应该做的事情,只是打印了调用时的语句,但是它很清楚的表明了他们的调用次序~
第2个回答  推荐于2018-04-08
#include <iostream> 
#include <string> 
using namespace std;  


class CBase 
{
string name;     
int age; 
public:     
CBase() 

cout << "BASE" << endl;  
}     
~CBase() 
{         
cout << "~BASE" << endl;     

};  


class CDerive : public CBase 

public:     
CDerive() 
{
cout << "DERIVE" << endl;     
}     
~CDerive() 
{          
cout << "~DERIVE" << endl;     

}; 
int main()  
{     
CDerive d;      
return 0; 
}

本回答被网友采纳

帮我解释下这段c++的程序。最好详细点,尤其是typedef int int_array[4...
关键字typedef用来自定义数据类型,这是所有教材都这样讲的,但不要理解为新创建了一个数据类型,而是将已有的一个类型赋予个新名称而已,即起一个别名。具体对这个语句来说,别名就是:int_array。而[4]不属于名字,而表示一种已有的数据类型,即:给一个大小为4的int数组取一个别名为int_array。那...

运行程序的时候出现C++错误怎么办
运行程序的时候出现C++错误这样的问题一般是因为DLL文件出错或者VC运行库没有安装导致的,解决方法 一、下载VC运行库进行安装修复,修复后再进行测试。二、以管理员身份运行命令提示符,打开开始菜单,搜索cmd。在命令提示符上单击右键,选择“以管理员身份运行”;在命令提示符中输入以下命令:for%iin(%win...

对于这个C++程序,我又一些疑问,希望能帮我解读。
1.现在规范代码,都是int main()不再是以前的void main();不管怎样main()也是一个函数,既然不是void类型就要有返回值;如果执行到return语句时,该函数结束。所以你主函数中return0;后面一句输出是无效的。至于它是返回给谁,我不清楚。2.你的说法是可以的 3.在C或者C++ 中都是由主函数开始执行...

我的C++程序这个错误是什么意思?怎么解决?
这是因为你一个工程里包含了多个main()函数,一个工程只能包含一个main()函数,多个就报错,建议把不用的main函数保存后删除,就没问题了。你不可以建两个工程吗?或者试试两个程序可不可以写在一个main()函数里。另外,cout<< c;和 cout<< endl;都不需要引号,有引号表示是字符串了 ...

帮忙解释一下这个c++程序。是求完全数的。
首先,完全数的概念。各个真约数的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。(列出某数的约数,去掉该数本身,剩下的就是它的真约数)第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。下面讲解程序。*\/ int _tmain(int argc...

请帮我看看这个c++程序是什么错误 应该怎样改
首先,表示,窗口程序编写没有问题。我想,你的问题是,编译环境设置问题。如果是VC++6.0下,找到属性选项,选择设置 菜单项。进入 链接选项卡 在最下面的一个文本框中,找到console修改成windows就可以编译运行了。

为什么我写的C++程序会闪烁一下就退出?
1、首先双击打开DEV C++程序。2、ctrl+n 新建一个源代码。3、编写程序代码的时候需要注意输入法一定要保持在英文状态。最好是在无输入法状态下输入程序代码。编写代码完成后,运行程序。4、会发现程序的确运行了,但是闪烁了一下,就退出了。更改代码添加代码 system("pause");,在return 0前,添加好...

关于这个C++程序的一点问题!!!1
这个问题与上面的差不多,"return 1"表示返回值是1,3."return 0","return 1","return 2"等等,到底表示什么意思???return 表示返回值,比如下面的:int GetA(){ return a;} 意思就是GetA的值是a 还有你这个c++程序完全是用c语言的方法写的,好像是刚学我作了如下修改,你可以参考,inclu...

谁能给我解释一下这段代码啊 c++的
首先,这是程序自己的逻辑,一般这样的逻辑就意味着要求 带参数运行 ,比如这样(假设你的程序叫做 a.exe):在命令行里输入:a.exe c:\/Program Files\/m.txt 这时候,argc = 2 ,argv[0]=="a.exe", argv[1]="c:\/Program Files\/m.txt",这样,他就能打开"c:\/Program Files\/m.tx...

下面这个c++程序运行不出来啊,求大神指点,急!!!
int main(){ int a,b,c,i;a=1; \/\/1 不是完数 从2开始。i=1;while(a<=999) \/\/这里的分号去掉 { a++;c=0; \/\/每次都设置为0 i=1; \/\/每次的因子都是从1开始 do { b=a%i;if(b==0)c+=i;i++;}while(i!=a);if (c==a)cout<<a<<endl;} return 0;} ...

相似回答