构造函数和析构函数 – c

构造函数和析构函数 – c,第1张

概述我需要编写一个程序,在屏幕上打印100颗星(在随机的地方),然后星星一个接一个地慢慢消失.我不允许使用循环或递归. 我试图与构造函数和析构函数一起玩,但我不能让星星一个接一个地消失(而不是一起消失). 有任何想法吗? 谢谢, 里 对不起 – 忘了提我正在使用c 我目前的访问违反了无用的代码: class star { int x; int y;public: star() 我需要编写一个程序,在屏幕上打印100颗星(在随机的地方),然后星星一个接一个地慢慢消失.我不允许使用循环或递归.
我试图与构造函数和析构函数一起玩,但我不能让星星一个接一个地消失(而不是一起消失).
有任何想法吗?

谢谢,

对不起 – 忘了提我正在使用c

我目前的访问违反了无用的代码:

class star {    int x;    int y;public:    star(){        x = rand()%80;        y = rand()%80;        PaintcharOnRandomLocation('*',x,y);    };    ~star(){        PaintcharOnRandomLocation(' ',y);    };};class printAll{    star* arr;public:    printAll(){    arr = new star[100];    };    ~printAll(){        delete[] arr;    };};voID donothing(printAll L){};voID main(){    srand ( time(NulL) );       donothing(printAll());     getch();};
解决方法 似乎没有循环/递归的唯一方法是这样的:

class Star{  Star()   {      //constructor shows star in a a random place  }  ~Star()  {    //destructor removes star and sleeps for a random amount of time  }};int main() {   Star S[100];}

这实际上只是一个愚蠢的技巧,因为编译器必须运行每个星的构造函数来初始化数组,然后运行EACH star的析构函数,因为它超出了范围.

这也是一个糟糕的伎俩,因为主要功能中的所有工作都是不透明和不可见的.在这种情况下使用循环显然会更好,并且在这样的析构函数中放置延迟实际上是令人困惑和不可维护的.

总结

以上是内存溢出为你收集整理的构造函数和析构函数 – c全部内容,希望文章能够帮你解决构造函数和析构函数 – c所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存