在C++ Primer第80页有这么一个注解2 w8 Y3 ?5 @' u/ f; T" Q7 o+ R" Q
一些有自定义构造函数但没有默认构造函数的类,在初始化这种类型的vector对象时,程序员就不能仅提供元素个数,还需要提供元素的初始值。
2 Y2 l1 d, W1 `, s7 p 实例代码如下:
) c$ u- ~0 j( }/ W* Y. B$ j9 a/ A #include
! F) v6 V! p/ C" @8 |* Y #include 5 q; \4 C' ^, _# K* w2 ~5 `
using std::vector;
+ u! O6 w4 G# M' e using namespace std;$ F) B* N/ R( r' d# y- ?% S1 X7 Q
class point
& b' a: s* n8 p- C {
; K2 E. q. `/ h' e! U$ R* G public:" v3 B8 z5 b) O% A
point(int x, int y)7 H+ D8 B8 M Z k/ r3 M! E" U
{- g- t! \8 N# t8 S5 m# f c
m_x = x;
6 t; ?% P- n" P7 K3 N% r) N3 L: m m_y = y;* [" [8 b% y; e& D
}
! u& e" G" ]; j8 D. a' s private:
( A5 o1 b( Z# D9 X* `) o# @ int m_x;- r9 T# x0 \0 L& A9 j$ i5 }
int m_y;
0 E. r* r, p' H! o7 x: | };
& ^7 W% Z8 k) h; I0 ? int main()0 k7 E( P' d" M
{
1 L9 G/ i9 F. F/ K, d! h vector a(10, point(3,4));
' H7 A+ b. S& t' b! d return 0;
# B( m# J& M. Z, b6 u8 Y R/ H8 | } |