computer 版 (精华区)
发信人: remember (明天会更好), 信区: program
标 题: C++自测题(1)
发信站: 听涛站 (2001年09月29日16:47:25 星期六), 站内信件
说明:这些问题是我最近看书的一些心得,不知道大家对这些问题是否
有清晰的概念,所以写些自测题,大家自己先想想运行结果,然
后再上机核实一下自己想法对不对,如有任何疑问,可以在本版
发文。
嗯,另外说明的是,建议在学C++的同学做做,尤其是0字班的兄
弟,尤其是上面向对象课的兄弟。
当然,这只是我个人敲的一些东西,可能有不完善的地方,错了
的话,大家多多包涵......
(1)About Constructors and Destructors
请看以下程序:
#include <iostream.h>
class Stack {
public:
Stack(){ cout<<"Stack::Stack()\n"; }
Stack(int maxsize){ cout<<"Stack::Stack(int)\n"; }
virtual ~Stack(){ cout<<"Stack::~Stack()\n"; }
private:
int _stack_size;
};
class MyStack : public Stack {
public:
MyStack(int maxsize=1024) { cout<<"MyStack::MyStack(int)\n"; }
~MyStack(){ cout<<"MyStack::~MyStack()\n"; }
};
int main()
{
int i;
Stack stack_a;
cout<<"\n";
Stack *p_stack_b = new Stack(256);
cout<<"\n";
Stack *p_stack_c = new MyStack();
cout<<"\n";
MyStack stack_d;
cout<<"\n";
MyStack *p_stack_e = new MyStack();
cout<<"\n";
MyStack *p_stack_f = new MyStack(512);
cout<<"\n";
cin>>i;
delete p_stack_b;
cout<<"\n";
delete p_stack_c;
cout<<"\n";
delete p_stack_e;
cout<<"\n";
delete p_stack_f;
cout<<"\n";
return 0;
}
请考虑其运行结果。
同时,如果把MyStack(int maxsize=1024)改为MyStack(int maxsize),
编译是否通过?如果不通过,为什么?
ok,关于这道题我的心得稍后我再发文吧....
--
洛阳亲友如相问 一片冰心在玉壶
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.052毫秒