在C++ Primer第80页有这么一个注解
; K' J3 U, D) I2 a& d 一些有自定义构造函数但没有默认构造函数的类,在初始化这种类型的vector对象时,程序员就不能仅提供元素个数,还需要提供元素的初始值。
3 H1 Y9 |, M9 v2 N 实例代码如下:* _; Z; w0 E" B3 q
#include
( \: ^2 e7 \1 `- X #include
2 L7 d4 I# n H. J$ b" H- Z using std::vector;9 d0 i7 x: T9 @3 _. t$ E& D' S
using namespace std;
3 g4 J8 I* f$ v* ]/ K3 A% h class point
0 J" E" Q" I& s/ v p3 T6 g) O6 K {) h! K* g* i [# ~! |
public:
; r8 k$ E& l& {' S& k+ h point(int x, int y)
) k) Z* a3 H* A* ^ {
) g0 a, s! H% p' y m_x = x;. N, b6 [: Y9 \- v
m_y = y;
: R5 ] B' n+ l, E: _% Y: i }( k, [; G( P4 g$ U- _3 s2 k
private:: _# H* V7 e, g
int m_x;! _3 R' p4 ], o+ f9 u" `4 z% B- Z. B
int m_y;
3 l, @/ K* e s7 J3 V; P };+ M1 v8 o1 @% Q4 o8 X/ F
int main()
$ C y2 k4 f: M7 f5 _ {9 ^% G4 G3 M3 }; u+ c
vector a(10, point(3,4));
# t$ m! @0 Q$ Z0 ~/ ~1 a, }$ C" Y return 0;
: F0 e( N7 p( G. v4 f( Z } |