|
《C++语言程序设计》期末考试答题纸
! m4 [ M2 W% W5 P: k 0 K( y; q* N5 j. f! n+ M; x
姓名: 专业:
) t) B0 _7 h6 D! R$ n" I" g% Y学号: 学习中心:3 X3 G2 _; Q, Y" i$ _9 S
成绩:+ N6 ` G* p7 l' v- ]0 D4 i1 V
9 \) C8 M4 ]/ k) [. o. U- I
注意:请在答题纸上作答,否则不得分!8 l+ P9 K+ c6 E
一、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com)2分,共20分)" x2 w" d" r3 S6 }$ l
1 2 3 4 5 6 7 8 9 103 ]6 |; j* Z6 C% Q! n9 F- m# j
/ |* P9 T7 F) L + F d8 `0 H W& s' F
二、填空题(每空2分,共20分)( O6 k( Q; _ Q1 P* k8 N3 ?
1、① , R# N5 m: y j7 s
2、② ^0 T5 k8 S( G g4 X0 B9 P
3、③
: I' b3 L% ^/ {$ V4、④
7 T4 f R* Q! K$ d5、⑤
3 t X* k4 K+ m6、⑥
4 z5 n0 \8 c' b; I! E7 T7 |. C7、⑦
: w! e( I7 I6 x8 s0 ?5 }4 J8、⑧ + j8 J, @6 |0 q; ~ N6 D% ]4 y9 E
9、⑨ ' K" @" _9 P2 M
10、⑩
) L8 X& B" p8 E三、程序填空题(每空3分,共18分)
/ l" A/ W: M; u3 Q% n0 ]1、① 、② 1 Q' n; Z1 l9 n; n
2、③ 、④
8 i" ]5 T W3 g* e' \$ A3 S3、⑤ 、⑥
" Z4 ^: t2 Q( o' {- K( E6 |四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分) . u8 G5 |4 e% S( w" K: L5 }
1.程序的功能是?其中if块起什么作用?* |0 w |& e+ M& ~4 Q& g
#include <iostream>
# }. N* Q6 o/ u& M G6 x8 h& fusing namespace std;
$ i$ u" g6 |& l- lint main()% E8 ~, E* Y. [) d# j U: _1 i
{ int x;
+ {# y8 u" A" L, N* i4 ^ cout << "enter choice(1-4):";' n. k3 M8 \& ]7 C0 ~$ f3 A
cin >> x;
, i9 P/ J' D5 A6 K# h while (x < 1 || x > 4)% K% z% V$ m; w9 Z/ R E3 u
{ cout << "Invalid choice, try again:";6 S- \* t4 a' {
cin >> x;/ ?& {5 N! `! M0 i; p
if ( cin.fail() )
- I2 p, F# c) S1 b" K! u' f# c+ I { cin.clear();% d H/ d5 J+ i) h9 O
cin.sync();
) @5 l/ C7 E% v cin >> x;
8 ?3 e2 ~% z+ u" g }
; K3 ? [7 {1 v/ \1 R" h$ o }
; R4 t# g% x' S' Wcout << "Had choice:" << x <<endl;7 `4 e* C$ C' P9 z7 K9 q
return 0; }
# z2 [7 ?) w; ]" |% P
5 t$ E; b+ E, ]+ B7 m* u! d X/ z2 R2 W6 R3 [/ m' n
/ P" {/ V0 q+ Y. [7 |7 F1 Q
" U' d7 ]/ L0 E% ^+ D2 r9 G; B- G$ j( ]
. W( I9 f, z$ _+ s. N
, {' ?5 t' g( n+ A
) F( D, q- p- b0 a# d* U) |* D4 B8 x0 {# h) y
, V! Y; ^6 ]9 E) _) Z* X- {& n
+ Q9 S J* H+ v4 N! u, K, N2.给出下面程序输出结果。 3 U0 |9 w9 n: Q* {& z, m4 T
#include <iostream> & y6 Q; c% z" f4 H
using namespace std;
) l+ ^. S+ d. [2 }1 L e2 Hclass Test 0 M8 E. x# J7 m
{ public: ; a4 q9 b% f- |. a3 [3 I
Test( int i, int j=0 ){x=i; y=j;} 1 E: o& U- O3 o7 M3 l% D, K7 }( {
int get( int i, int j ) {return i+j+x+y;}$ Q. _* l: Y0 b% J& r$ `+ q
private:3 q" N6 n0 _4 [. S! j
int x,y; };
' h% n3 S) k4 p1 P: Iint main( )
" z; T4 t+ x9 x9 n: O{ Test t1(2), t2(4,6);
9 @! ]9 u, A' ?3 c: N- vint (Test :: *p)(int, int); , ?( |1 `) v3 L* ?$ T& U, g
p=&Test::get;
; I7 `1 W, t/ \# ]cout<<(t1. *p)(5, 10)<<endl;
, p1 K( ~' S9 h) \cout<<(t2. *p)(7, 20)<<endl; , ?" m* l( |, L% Y" k; r4 c
return 0; }
' }. u5 z4 d) h. x1 d; x/ x
/ x& L d# j0 g* u4 h, e6 N5 g9 \- A* h" t* U+ O D! N1 \5 P" i
; _$ [; f2 m2 w* g% h1 W; k
五、模板设计题(第1小题8分,第2小题8分,共16分)
( s5 ~9 [$ W4 u) U) c6 q. L4 D1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。9 i" ~; v1 F0 ?" H% ^
0 ^0 h3 [ h) w. D
7 L) _. r! ^, u3 M- v. q; u
" C8 x0 i6 w3 t
- m! l1 N) h+ B! c9 Q
* X% g' n4 {1 V; Z8 I# }/ L
3 k! J0 E! e- O8 x. F6 G" E3 O
$ ]* W9 U/ }+ ]" S" k2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。8 ^) o; }1 M1 L& U/ y& ~
template<class T, int m, int n>
6 A H O8 {$ ?class Matrix4 m; N2 T' y$ n' g
{ public:
! D4 ^7 k+ i1 A" O Matrix( );5 v" j: b+ K8 {# @6 l" Y
Matrix(T a[][n]);: j1 ~3 v! I! ?
Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2); & i4 M8 h. t& d+ W) O7 v# H
void Mdisplay( );; P( n- Z$ D6 ~, Z' J+ r( l
private:! p n3 e% Z* t8 Q1 z6 {9 H
T x[m][n]; };' E5 E/ ~+ u! h) k- ^
4 T' i9 ^# } n2 }2 p4 G2 N/ z0 E
! U* @. g0 [! i9 u3 A+ \7 n0 g" S) [: y' W) \
; A: p3 @4 N; i9 O; N) n& ?: U- y3 S2 F- H' n0 n8 Q
1 o9 g( G; w3 T" u7 t( T( s
0 i9 [2 ?6 l+ M5 f. W D
& V/ A! t6 c) A; z: i$ P8 S
7 j! l6 l" l3 ?* K% r) Q六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)% A+ N- Z( K% r% _; R( m
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:; \0 ]6 k$ u- I" w& d% G8 o
class linearfit
* Q& L7 F7 K' ?9 ^{' y. |* J. X6 E- |! G& X# {
public:
* s! a7 j! b8 O linearfit( );
: h' p) `& S3 v/ w6 v3 T$ n' s void fit(double x[],double y[],int n);
, k- {/ x4 I+ o3 b8 z% p void val(double z[],double x[],int n);
/ ?# w6 ? v( P0 b9 k/ ^ double geta0( ){return a0;}
; U$ _: I, U/ X1 H double geta1( ){return a1;}2 B8 l4 s, X0 _8 c" {! x
void show( );9 P# A" x+ | s# W$ E3 s
void show(double x[],double z[],int n);! [. H1 b; {0 t: m
private:4 S) y, G' ~0 `. S
double a0,a1;
; w4 X$ L: ], v6 V};
8 p; _4 b' P0 G/ B* N4 i: C j! J# p; g: c1 w& P
( |1 G8 v. V/ Z7 X( ], d1 [- f请完成如下内容(分别注明类内与类外部分):
" R* D& A. L8 P6 a) b7 f①类外定义无参构造函数,使成员a0和a1的初值为0;/ _3 s/ E4 y* u3 m$ Z$ N2 F
②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。; l# H' z; a/ b" U& D
! ]+ j. F7 A; B( a H③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
1 V* ?2 b5 a* E* e; W9 s' z% }0 [8 T5 k* a+ H: |1 Y
( ^4 g% t3 ?, `/ [% T5 c3 R: r5 ~% j/ Z. `/ k+ G) }' A$ b: W
) l* d" w' y6 J$ u r; k' ^
《C++程序设计》期末考试试卷/ _4 ?: }/ h+ T$ C
注意:全卷请在答题纸上作答,否则不得分!
; k0 V, r" X+ z- a9 ^一、更多资料下载:谋学网(www.mouxue.com)(在更多资料下载:谋学网(www.mouxue.com)的四个备选答案中,选出一个正确的答案,并将答案代码写在答题纸上。更多资料下载:谋学网(www.mouxue.com)2分,共20分)
: @. K k* l% b) a: d- c" j9 o1、下面的哪个保留字不能作为函数的返回类型( )。
1 {; p# ^- J2 w% x3 j. dA. void B. int C. new D. long $ R- c- p$ ^/ r- U
2. 决定C++语言中函数的返回值类型的是( )。 0 d& ^- A$ n/ N. ?* G
A. return语句中的表达式类型
$ U7 ~: x. i4 W8 b( ?1 oB. 调用该函数时系统随机产生的类型
9 H) {) d j! g" { V uC. 调用该函数时的主调用函数类型
9 v1 j8 p" U1 E4 zD. 在定义该函数时所指定的数据类型 ! h: w! i7 v' P3 E3 M: N+ i, a1 d
3. 一个函数功能不太复杂,但被频繁调用,则应把它定义为( )。
2 z; m8 s: V& q4 CA. 内联函数 B. 重载函数
6 ^1 N2 u+ l N7 q" K' R+ QC. 递归函数 D. 嵌套函数 6 F/ _! L4 p5 I
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个整体,这整体就是( )。
, b" P6 Y3 T! f, sA.结构体 B. 对象 C. 函数体 D. 数据块
$ k. ^# Z! ?0 w+ T5 `+ T( L/ m5. 下列不能作为类的成员的是( )。
4 c E' ]$ p( kA. 自身类对象 B. 自身类对象的指针 # R" T n: _9 U! L# }3 v* K6 Y
C. 自身类对象的引用 D. 另一个类的对象
- k) T/ x; R s0 _6 h6、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ”语句时,自动调用该类构造函数的次数为( )。
( h' `$ f. S0 N, p, T1 qA. 3 B. 4 C. 6 D. 9
' ]) U8 p- o- z! U( S) { K+ ^3 K7. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,x.a和x.b的值分别为( )。
8 ]: a6 ]: W2 A& h* T3 X+ mA. 4和15 B. 4和5 C. 4和20 D.3和20
4 a+ O% G9 i! ^9 e/ J- X8. 在类中说明成员可以使用的关键字是( )。
6 v0 x, p2 H7 |: z' L- w( Z. hA. register B. extern C. cpu D. public
0 e2 i& J$ Y$ l& Q: y) O8 `9.假定AA为一个类,a( )为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a( )的格式为( )。. o+ O. w( _- ^8 H
A.x.a B.x.a( ) C.x->a D.(*x).a( )
* l8 w) K' \) E4 P% `10. 下列程序的输出结果是( )。 . M& T0 H2 M: W3 v8 A/ V8 q
#include <iostream >
& B2 d, `2 y7 t) M6 x: x' uusing namespace std;8 w3 O5 ]; k2 ` l w
int main() 0 { l3 S0 b* s- `& I3 p! f6 X0 ]
{ int a[][3]={10,20,30,40,50,60};
8 A. C5 I: |: Y C int (*p)[3];* E2 @" U8 ~+ l0 {8 s
p=a; 9 d% h- l9 B2 X6 _" O9 e
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; }. Y. Z* ]- G; t }6 P
A. 10,20,30 B. 10,30,50
" \2 h4 E% y( cC.20,40,60 D.10,30,603 D) n: `2 V6 g% H, S
二、填空题(每空2分,共20分)注:请在答题纸上做答,答案前注明题目号和填空号。9 J7 g! b! K* e5 Y3 _. N
1.在C++面向对象的程序设计中,将一组对象的共同特性抽象出来形成 ① 。
- h, h; W8 R e/ b. M2.表达式cout<<endl; 中的endl也可表示为 ② 。
0 r- ?5 P: ^% n" x- v" [* R( k3 t3.如下while循环执行次数是 ③ 。% W# u+ O9 D0 I! N! O& B. _
int n=0;
, I# `: b8 d: y+ D- @while(n=1)n++;+ I. `$ f! x; B# `: ^' D9 ^5 p# N
4.每个对象都是所属类的一个 ④ 。% I: {6 ^. ?/ z" d0 O/ w3 I( f
5.用new来动态分配有10个元素的整型数组单元,并用指针ip指向该单元,应使用语句 ⑤ 。
+ X8 J7 n: w; x7 ]( j1 V. c3 {6.函数模板中,template< >尖括号内用于表示“类型名”参数的保留字是 ⑥ 。
/ _/ |8 l# D+ B1 Z/ ]" ~+ x% n7.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的一个新对象时,会调用 ⑦ 构造函数来完成此功能。7 F& N1 P; s. ?# [( S0 \
8.对赋值运算符进行重载时,应声明为 ⑧ 函数。
+ F8 K) p/ V( U* {- N" ^9.如果要把A类成员函数fun( )且返回类型为void声明为类B的友元函数,则应在类B的定义中加入的语句 ⑨ 。7 G" C& D1 f( L5 J
10.定义类的动态对象数组时,系统只能自动调用该类的 ⑩ 构造函数对其进行初始化。
1 t+ u. D$ ^/ w, a! l! w7 _3 c4 F' D9 q. V- ]% b
三、程序填空题(每空3分,共18分)6 k& @/ F& P- m- H3 E0 ?& v
1.在下面程序横线处填上适当字句,使该程序执行结果为反向输出数组的元素:2 _( q. r; x+ Z$ U0 P6 H
50, 40, 30, 20, 10
U' E0 h5 V+ u1 L/ [7 ]0, 7.5, 8.4, 9.3, 10.2, 11.1
4 |4 x5 l" v) A#include <iostream> 5 |3 B! D, l5 b, R6 Y6 A! m
using namespace std;% K7 B+ w7 P: i: G% a7 O& K* C
template <class T>, z( Y3 O7 d6 `
void fun( ① ) % B1 J9 L% L. `% J. b9 |
{ ② ;% C8 h( F' A1 E" h7 F/ k
( ~: T' j/ j" W7 d/ Cfor( int i=0; i<n/2; i++)( v9 J$ s: o6 }$ s# Q
{ t=a; a=a[n-1-i]; a[n-1-i]=t; }
: t; p! C" A9 }4 o# F& Q2 b9 H}; M+ _; ]4 |# Z% r7 m6 L
int main( ) 8 l4 O6 s6 a# y/ l
{ int i,a[5]={10, 20, 30, 40, 50};
: G ?2 }2 @3 V4 x* D: I9 W) edouble d[6]={11.1, 10.2, 9.3, 8.4, 7.5};8 j+ c, n; m" c7 j( w1 @) d
fun(a, 5); fun(d, 6);% I' p% f; m6 }+ H* s
for ( i=0; i<5; i++) cout << a << ",";
- B, l- w+ u& ~* Z/ h. @- kcout <<endl;
* X6 ]* w& j: \( w- _for ( i=0; i<6; i++) cout << d << ","; : F- \" @- j! t7 S& R. o4 P# [
cout << endl; }
, g' d( N/ q- Z, N2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为37。
. [. N3 l. f1 \8 B' ~% d#include <iostream> $ P$ }5 Y& c! A8 c
using namespace std;. K( c" K6 P7 H+ T
class Test $ h! E8 j! J& N* n( G
{ public:
4 K( T& V8 M; `' l4 ]! zTest (int i=10) {x=i+x;} + M' ]7 S% W. `7 e0 Z/ v% X5 e
static int Getnum( ) {return Test:: x;} $ z; e# x+ d( }: d# I
private:
4 J1 M4 T" @% T' I ③ ;
1 ]0 P# y" Q/ u4 k; ]4 g, ]* f: I: z) z0 D& J4 [
};
% o9 {4 F, x S0 _$ d& o3 ~9 _ ④ ; - l9 n3 c0 E+ @
int main( )
+ q$ b8 g# p* V' Q% Q. v. ^{ Test test1, test2(7);
M& H* F- m7 ~& {! K$ ]2 Jcout<< Test :: Getnum( ) << endl;
2 G6 C1 e6 c Z; |} ! |" [5 m: C* P- ?! o
3.产生10个[1-100]之间的随机数并输出显示,数间用空格分隔。4 V9 u: i1 ], d: [5 Q
#include <iostream> ' c5 P E& T& ~& p7 ~
#include <time.h> - T3 j3 m. g6 ^# [1 e
using namespace std;
" t/ h3 k3 s" }* U
/ H: W3 k) T1 k/ Aint main( ) ( i. H X) K* i# H1 |" f& D
{ int i,a[11];
8 D% b$ e* A# x G1 e Jsrand(time(NULL));
k$ \9 \" s* `# @4 kfor( i=1; i<=10; i++) 9 d, `5 A2 b8 _
⑤ ) T% Y! f0 {7 T3 A z7 q
for ( i=1; i<=10; i++)
8 m! \7 r9 Y, X* Y6 ?+ k( Z ⑥ - ]& I, n( u/ ^9 ~6 h+ v
cout << endl;9 j% k: ]7 e* Z6 b! l8 S0 }9 j+ s& ?
return 0; $ v/ [& A- w: E* M; r4 u' O
}% Q9 L# f4 d3 N& }' m- E; [
9 o& D& `0 o1 k6 O9 x四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分) 4 Z6 `7 h5 M- Y/ K
1.程序的功能是?其中if块起什么作用?
0 _6 ?2 b1 x; M/ U! N# f#include <iostream>
4 g; w( I8 I3 F% Gusing namespace std;# E" V) b8 c; i# f
int main()# ^. C/ M3 o/ {$ Y; p
{ int x;
" Z9 W$ ^0 y( n' r, z+ L i cout << "enter choice(1-4):";
) _( N( \ Q7 @ cin >> x;9 U, v4 n e. L+ x! F2 Z
while (x < 1 || x > 4)
; f+ r2 v3 U8 `: y) r) R L- P, H8 z { cout << "Invalid choice, try again:";
9 z7 i* Q$ b& J0 b* U cin >> x;' y9 P7 O/ _0 \- o1 h' A* j
if ( cin.fail() )) u) \% R5 U* L* h! k, T
{ cin.clear();
; m7 ^: Y' I7 Q& @ cin.sync();! f$ }! F/ g- M8 P% s# G# j9 B
cin >> x;
0 H% C$ v( X: N4 h* U: y+ u6 Q$ S }: O3 [) ~" D" k2 z8 u# Q: [
}/ z( {* w) R1 M% O6 u
cout << "Had choice:" << x <<endl;
, C# A1 C3 b, w2 I% {6 K1 creturn 0; }' X7 [1 o' a7 e
6 L6 _1 f0 O* e9 H: F& V2 x2.给出下面程序输出结果。 + ` I7 f+ j7 H2 d& C5 s3 Y- X+ U5 A
#include <iostream>
9 Z* S! `2 }3 v8 z9 H# z: @% Eusing namespace std;
$ T+ g0 G/ T+ Z( G3 ?class Test - u# R/ \2 D, B ` W
{ public: $ i: K+ O% \7 b
Test( int i, int j=0 ){x=i; y=j;}
& b0 q- Y1 m$ b' h8 _int get( int i, int j ) {return i+j+x+y;}
) T# j$ ?2 M/ e. ?+ i9 y0 e" ^# T1 s4 eprivate:' A! g7 Y3 _4 b: S/ H0 o7 y
int x,y; };
x Z7 M E8 o+ }/ v; Pint main( )
; Y) t% ?6 z K& l{ Test t1(2), t2(4,6); / l; L S4 C1 r( A8 [/ ^8 B
int (Test :: *p)(int, int); , t5 f1 l5 k v; ]( ]0 K. s: Y
p=&Test::get;' Y3 S& E9 @8 `1 o
cout<<(t1. *p)(5, 10)<<endl;
/ y) G$ q" S8 |3 M y& Tcout<<(t2. *p)(7, 20)<<endl; * ~8 G u% f7 c" G, y# `8 Q, {
return 0; }
% V' i7 d0 o0 x: ]: q$ L9 H3 K
% D' Y [3 q1 X五、模板设计题(第1小题8分,第2小题8分,共16分)
9 b7 ?7 C6 b4 c* B, E1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。
$ Z' Y# d G4 @; A$ _9 V! l+ K2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
, s# p$ `8 e; c2 ^7 ]1 jtemplate<class T, int m, int n>
' a* n# V% ], Bclass Matrix! U5 _ j% d! P4 O: O5 {: d
{ public:
: N4 s9 k" A9 K0 ] Matrix( );$ ~. U0 g0 r% L/ b* R( S/ Y# X
Matrix(T a[][n]);
, Z6 V8 J' d% Q; v; a" r Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);
/ ^, S+ E4 x9 U0 ]# y% ]; e* s void Mdisplay( );! Z$ d' w$ F4 ~5 q9 M# i* [5 x
private:2 L0 Y* o0 w6 J% q( N& z
T x[m][n]; };* J& G- l9 y0 ]1 O$ R( G4 p! K
: C w8 Z0 F; s: T8 {2 Z六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)# ?- C1 }/ x4 n8 Y; Z7 a5 E
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:
7 R3 f y8 A% l W# v; W' i2 wclass linearfit+ e& g, O: A% @( p0 s
{
7 H b8 m+ w. F, { public:
! ~/ t; {5 f% @ linearfit( );
' U4 \" r; d2 F! L& W7 h4 o5 j void fit(double x[],double y[],int n);
- Q) i$ \3 `! \+ w/ P- {4 x void val(double z[],double x[],int n);2 { e3 S# G; ^- a t B
double geta0( ){return a0;}- T( K) S2 X# t* h- N
double geta1( ){return a1;}
: Y E, N+ U" W' }" p void show( );
/ t" I( B( i1 q2 u1 a3 o void show(double x[],double z[],int n);
3 N! }$ K! r' u, E; f% Y private:2 {; j6 j# D/ I
double a0,a1;
0 I _4 z; n4 f' P, H9 s};* U" c4 D0 l6 z. q" H1 i
* v: y. W1 L) z v0 t5 U" _# f! ]" @8 Y
1 z- Q F- ]' F2 |) V1 p请完成如下内容(分别注明类内与类外部分):
# [. w9 `6 N/ J" M; P2 ]. F①类外定义无参构造函数,使成员a0和a1的初值为0;
" V* f; b9 e6 g+ e3 ^6 |; j②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。: a3 ?5 ?) }3 w
- S$ |4 n- u. m2 Q
③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
9 T! v! `5 z6 N3 V0 _
0 U# F9 h2 P) A5 ~ z( [: p+ L' B" Z! G: J
* Q0 i4 [: K: _1 {) B, S
# }" d8 |( Q. i. ^$ z2 m3 I |
|