Commit d0e55e33637456a7839a970658d12074be22b4b6
1 parent
c7fae41f
unique_ptr in ival_box example
Showing
2 changed files
with
7 additions
and
5 deletions
examples10/04-qtival/boxfactory.cpp
1 | 1 | #include <iostream> |
2 | +#include <memory> | |
2 | 3 | using namespace std; |
3 | 4 | |
4 | 5 | #include "qt_ival_box.h" |
5 | 6 | #include "text_ival_box.h" |
6 | 7 | |
7 | 8 | |
8 | -Ival_box* ivalBoxFactory() | |
9 | +unique_ptr<Ival_box> ivalBoxFactory() | |
9 | 10 | { |
10 | 11 | if (getenv("DISPLAY")) |
11 | - return new QT_ival_slider; | |
12 | + return make_unique<QT_ival_slider>(); | |
12 | 13 | else |
13 | - return new Text_ival_box; | |
14 | + return make_unique<Text_ival_box>(); | |
14 | 15 | } |
15 | 16 | ... | ... |
examples10/04-qtival/code.cpp
1 | 1 | #include <iostream> |
2 | +#include <memory> | |
2 | 3 | using namespace std; |
3 | 4 | |
4 | 5 | #include "ival_box.h" |
5 | 6 | |
6 | -Ival_box* ivalBoxFactory(); | |
7 | +unique_ptr<Ival_box> ivalBoxFactory(); | |
7 | 8 | |
8 | 9 | void fun() |
9 | 10 | { |
10 | - Ival_box* s = ivalBoxFactory(); | |
11 | + auto s = ivalBoxFactory(); | |
11 | 12 | s->reset_value(12); |
12 | 13 | s->prompt(); |
13 | 14 | cout << s->get_value() << endl; | ... | ... |