比如将顺序改为如下: Widget* bWidget = new ScrollDecorator( new BorderDecorator( new ScrollDecorator( new new ScrollDecorator( new TextField( 80, 24 )))); aWidget->draw(); delete aWidget; Widget* bWidget = new ScrollDecorator( new BorderDecorator( new ScrollDecorator( new TextField( 80, 24 )))); bWidget ->draw(); delete bWidget; return 0; } 看看运行结果: ?
\u5b8c\u6210 \u5c06\u4f1a\u540c\u65f6\u5b89\u88c5\u4e0b\u5217\u8f6f\u4ef6\uff1a bwidget itcl3 u884c\u5417\uff1f [Y/n] y \u83b7\u53d6:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial/universe amd64 bwidget u8017\u65f6 2\u79d2 (4,366 kB/s) \u6b63\u5728\u9009\u4e2d\u672a\u9009\u62e9\u7684\u8f6f\u4ef6\u5305 bwidget /bwidget_1.9.10-1_all.deb ... \u6b63\u5728\u89e3\u5305 bwidget (1.9.10-1) ... \u6b63\u5728\u8bbe\u7f6e bwidget (1.9.10-1) ... \u6b63\u5728\u8bbe\u7f6e itcl3:amd64 (3.4.3-1) ...
binutils_linux-64-2.33.1-h9595d00_17 # brotlipy conda-forge/linux-64::brotlipy-0.7.0-py37h516909a_1000 # bwidget conda-forge/linux-64::bwidget-1.9.14-0 # gcc_impl_linux-64 pkgs/main/linux-64::gcc_impl_linux-64-7.3.0
64-2.33.1-h9595d00_17 # brotlipy conda-forge/linux-64::brotlipy-0.7.0-py37h516909a_1000 # bwidget conda-forge/linux-64::bwidget-1.9.14-0 # gcc_impl_linux-64 pkgs/main/linux-64::gcc_impl_linux
64-2.33.1-h9595d00_17 # brotlipy conda-forge/linux-64::brotlipy-0.7.0-py37h516909a_1000 # bwidget conda-forge/linux-64::bwidget-1.9.14-0 # gcc_impl_linux-64 pkgs/main/linux-64::gcc_impl_linux