|
《C++语言程序设计》期末考试答题纸
% U" J, j; X/ m- ~. V6 o9 m$ [
1 l- J9 K, }& f' n/ L+ o姓名: 专业:
6 n2 T. H: X! f0 ^7 _) D学号: 学习中心:
5 m! a6 V" N3 l( N+ q% Z0 ~5 u4 E1 b成绩:$ D$ K2 Y4 B; J; ]8 ]
" D7 v% r5 J- V S8 c# N" f注意:请在答题纸上作答,否则不得分!
8 |6 z2 ~, F. a( a一、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com)2分,共20分)- M) f1 u2 u* X Y3 ~( K' Y5 P/ n
1 2 3 4 5 6 7 8 9 10, v: e4 p" ?( u
/ j: h' m6 i6 x# ^/ u5 \- \
9 c, c: o x0 w; r二、填空题(每空2分,共20分)5 w) X" f2 y6 I2 z
1、① " W+ `+ F8 ?/ f* B6 B. w
2、②
3 y' u4 ~3 O( x1 x8 M3、③
4 ?- G$ h5 U8 i/ H5 k8 t4、④
' G- I& K4 n- H& } i, k- N' p; C- a5、⑤ / z' \5 x" G4 E" O
6、⑥
3 _: I2 D+ H6 W0 ^+ o' ], Q+ ^7、⑦ + `7 e9 H$ @ I3 n7 {1 j
8、⑧
/ K' F9 S. f+ f9 {9、⑨
1 k* d8 n2 _# s' k! k' J5 @+ ?10、⑩ . w1 B( o, u+ V7 e# R/ K% G- T0 e" g
三、程序填空题(每空3分,共18分)
" O+ S6 N4 b9 G/ P1、① 、② 0 K, G* o" {1 _; i& M; b" P
2、③ 、④
$ Q- w* Q$ [& x* R, w% k3、⑤ 、⑥ $ D5 U0 Y2 \( N& _. d1 u* I/ r
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
* H/ Q& W7 D, k2 r+ M+ r6 I- Z& m/ { 1.程序的功能是?其中if块起什么作用?* N1 y/ r$ z- q( v. {9 N* y
#include <iostream>4 r2 O# D% `# Q/ K
using namespace std;8 H1 m1 P% r. l8 {. b5 e* H0 y
int main()1 Y& q! `( r# x. D' }: Z
{ int x;4 P* h2 Q- _$ f9 ^) M( @5 m8 c7 P
cout << "enter choice(1-4):";$ Q. ?$ a" ?' ~2 s- M+ ?6 q
cin >> x;
2 H+ {. I) c% i* g% D/ { while (x < 1 || x > 4)
; h* y4 p) |/ N5 G" f$ p- l { cout << "Invalid choice, try again:";
+ J- d0 O* A0 S1 p: w6 _ cin >> x;, I& I6 c1 W$ V( k) U& E: t h
if ( cin.fail() )
$ E3 X( V1 v4 d8 O$ q I* l1 z { cin.clear();
' D* n( Y, f D cin.sync();
% w* Y# X; s7 B3 h7 G: x- | cin >> x;& D% _1 j' z/ y2 Q# p$ ?& e3 N
}9 `2 Z4 T M7 I8 `4 c H/ T
}
, Q/ ~( O, T, y+ d* a& f+ b. Scout << "Had choice:" << x <<endl;
8 ^. q6 H# F# T1 @7 a: r) f! rreturn 0; }9 Y/ q+ Y9 v/ b b$ l* C' C. J- w
% P2 D' r& }2 X) c; A& V4 x) ^; d9 b4 e5 o2 d2 L
9 M$ {8 w9 ^* s4 w6 |* F3 T }! A8 N* G9 ? U
2 M7 Q, ?# Z; M. p0 m. `. n
5 k. w: M, }8 J5 @) a) Q
0 b D+ I% O0 s A/ v$ M$ W; L0 g0 a4 L1 K. i8 w
) p8 B* Z+ p: B
8 u" G- p: _( V) `9 S5 ?' p* m# p' h% c
2.给出下面程序输出结果。 5 @5 N/ O2 i! X0 V
#include <iostream>
/ g1 V, ~, V6 `, z" H& jusing namespace std;
# O- M- D- q! y5 I- K) @class Test " L+ W* [& ~ G3 `1 `; b" A
{ public: & ~. F h' |. B
Test( int i, int j=0 ){x=i; y=j;} 7 }: T# i* G4 a* n V
int get( int i, int j ) {return i+j+x+y;}: l( b& D6 S3 }2 l! ^) M( t7 }
private:. I* Y/ o& ]6 _7 x
int x,y; };
$ s @9 t- Y) L g4 `8 X( t, n/ jint main( )
# m& a- j, O4 i2 Q4 ~; X( h{ Test t1(2), t2(4,6);
: N5 P, ? m" K# {0 {int (Test :: *p)(int, int);
. ~& S2 z; {7 |9 wp=&Test::get;- ]* Q2 J- G# L5 {7 B g8 y8 f
cout<<(t1. *p)(5, 10)<<endl; 2 W3 L D! I) `7 _; E( s) R
cout<<(t2. *p)(7, 20)<<endl;
( o# p) g# r E+ E6 a& B$ x" qreturn 0; }5 O h8 _1 |/ V3 s5 P& | ?9 @$ Z
5 N3 O0 {3 w& I/ A; K8 j! c) S( [& v" ~9 P6 I3 J& e
) i M* [% u' O' [# N1 `
五、模板设计题(第1小题8分,第2小题8分,共16分)
* ~8 ], x8 @$ ^$ V N) s1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。
* V9 C8 ~+ J- ^8 W' _* F/ U& B
" O) |4 H" y7 J/ H. I3 e5 a. {; A; `2 W) ~' A5 S% b2 E& R6 V
. S t8 Y6 L J9 V0 d
f, M. f' [6 T& O# H6 l/ h. t" L6 ]. ^6 H7 |& K7 ~2 @# x
B/ y1 [$ P! L; l
* c* O: ]4 r$ g* v2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
7 Z( r6 r5 h; e# q' Ftemplate<class T, int m, int n>
$ l; m* r B1 Aclass Matrix+ F* n3 O2 @$ O- Y: w
{ public:! v- @' J3 p/ E5 A" i, S
Matrix( );
6 o6 u- l# H8 i* r" k" H: T% `4 ? Matrix(T a[][n]);
7 B5 [" b% ]6 ~5 I Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);
- z" U) C& F# [; Q# Y* E void Mdisplay( );
) ]& e, W9 Y3 B+ f" x' S private:
4 @7 k" U, _) G( H1 x; ~5 u- o7 | T x[m][n]; };! d, b' P. W4 I: l# Z
" a! |! ^. e, d$ v. P8 @6 s# G
* s, m* W9 a5 J! r. W1 X. D( s6 R: M- h* B: q( t
) ~+ S) M D j0 @% i. A: R' A# ~7 P) P7 a6 \1 a( x4 J& {
% m! N& C5 d/ F6 J- M, ^+ ^/ i* m
5 S0 S; N1 X8 `1 [3 r' I
# Q* h: \, Z& Y$ }& b0 H. i+ ~- o, d4 |$ E* X4 U3 O R2 G% P( x$ p3 t P
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)
6 k* ]6 \- e9 A1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:8 t: b" M+ G) a- ]7 K- b' V* R
class linearfit
( Y! s3 M" s4 K6 A h) C$ c{7 R* ~5 [7 T4 h; x3 q7 {& _
public:8 v- f1 H ~8 b8 ?! y4 ]1 x
linearfit( );8 f. }9 F0 N* ^7 i8 r' F8 k% M: p
void fit(double x[],double y[],int n);; N4 V/ r3 T4 ?( \3 H1 e
void val(double z[],double x[],int n);
b6 ^2 \8 T3 Z( `+ _4 t double geta0( ){return a0;}6 x3 x0 Z/ [( `2 v0 q
double geta1( ){return a1;}
( R3 u) m# p2 ~ void show( );2 J5 `5 L; Q) h- W) A% X- Z; u. a! [$ p
void show(double x[],double z[],int n);
' C( V8 E2 d4 s" K0 x7 ^$ Y( S8 w private:0 w" v# w6 V1 V
double a0,a1;
5 O# A0 P7 }2 d% H% ^};
8 ?5 s- e, [9 T! i' P+ n8 r: |6 ?
: ?) C; C6 R: K( I& E3 I" D* u
3 l/ E1 f4 e6 _请完成如下内容(分别注明类内与类外部分):# `/ D" ~ O4 }9 I
①类外定义无参构造函数,使成员a0和a1的初值为0;
) E+ l( `- C' K②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。
( V: q4 d: C9 k/ E) O, G: V 1 s3 z2 W3 J/ _ b3 B/ p
③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)5 a6 G E( w6 y3 e2 h# s
- V) @( v7 v* S$ ?) d6 |. C0 r0 | `) k
. @1 E. d; m# L- E" g7 Z
, h' k9 k# g9 `2 b. M3 e
《C++程序设计》期末考试试卷) T1 B; t! m0 t% Z" V c. n' @! S
注意:全卷请在答题纸上作答,否则不得分!
8 {; h' Z) `: A) a) U p. U, ]一、更多资料下载:谋学网(www.mouxue.com)(在更多资料下载:谋学网(www.mouxue.com)的四个备选答案中,选出一个正确的答案,并将答案代码写在答题纸上。更多资料下载:谋学网(www.mouxue.com)2分,共20分) p3 B3 _( t; o; p* [- Y. B
1、下面的哪个保留字不能作为函数的返回类型( )。 $ l: ~8 Z) ]1 s
A. void B. int C. new D. long * J$ f: H: I% G2 U
2. 决定C++语言中函数的返回值类型的是( )。
4 q' J: N. r' ?/ pA. return语句中的表达式类型
) }# t% _- I8 Q+ {B. 调用该函数时系统随机产生的类型 . S" ]" g6 l! G; b7 O& ]
C. 调用该函数时的主调用函数类型 6 d+ I, p7 w. N/ w/ U* f
D. 在定义该函数时所指定的数据类型 ! n, ]3 V# H" l# A2 M
3. 一个函数功能不太复杂,但被频繁调用,则应把它定义为( )。 ; r; k5 `' d; ^# L. \2 n7 b& ?
A. 内联函数 B. 重载函数 $ g: a& s4 ?/ ?' f- v6 T1 e- J9 L
C. 递归函数 D. 嵌套函数
1 N+ a) H( F9 v4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个整体,这整体就是( )。
! I& {3 V: Y3 J2 y# aA.结构体 B. 对象 C. 函数体 D. 数据块
8 e- u2 @+ L% x+ F7 p/ Z- |6 d5. 下列不能作为类的成员的是( )。. H7 G1 U5 K1 c6 K( u' c
A. 自身类对象 B. 自身类对象的指针 # r1 |2 L3 T* s/ b
C. 自身类对象的引用 D. 另一个类的对象 2 X L' c4 l( K) o6 t5 j
6、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ”语句时,自动调用该类构造函数的次数为( )。
0 a8 B! j8 [" aA. 3 B. 4 C. 6 D. 9 # w: V- W% m4 `* J
7. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,x.a和x.b的值分别为( )。 % ]; R& c9 V3 G3 N, C, I, E
A. 4和15 B. 4和5 C. 4和20 D.3和20
" j8 f8 N( O2 R4 t) k8. 在类中说明成员可以使用的关键字是( )。 ]6 _3 ?# x6 N& y1 u
A. register B. extern C. cpu D. public $ `! x- [' d0 k, H* j j
9.假定AA为一个类,a( )为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a( )的格式为( )。$ l/ t" v: C( L
A.x.a B.x.a( ) C.x->a D.(*x).a( )0 m' I# Q# t' T5 g
10. 下列程序的输出结果是( )。
' [& Q$ k% j8 U) H# n; u4 K5 D#include <iostream >
) o( h" H7 p6 L8 m# W6 Eusing namespace std;
+ G5 I% H3 d0 [( h8 [9 }0 M& R7 C& mint main()
& Y/ u# Q0 C1 S$ K* S9 R{ int a[][3]={10,20,30,40,50,60}; 5 j2 `2 p5 ]- A7 ~( v
int (*p)[3];
$ |7 }0 F4 t+ S. v0 D5 h- Y( e* { p=a; ! H* `; a: A( S& l' x4 _* D
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; }! |) G2 i9 q0 p. [
A. 10,20,30 B. 10,30,50
9 A z' n+ R' u3 |8 N% WC.20,40,60 D.10,30,60
: Z1 f% a! b3 T/ a6 L二、填空题(每空2分,共20分)注:请在答题纸上做答,答案前注明题目号和填空号。
- W) ?& F$ U/ i$ @: P7 u1.在C++面向对象的程序设计中,将一组对象的共同特性抽象出来形成 ① 。
& Q9 B; m* B- _7 w7 [$ G2.表达式cout<<endl; 中的endl也可表示为 ② 。' n0 J; |9 _; b9 p; n- C
3.如下while循环执行次数是 ③ 。
( ?3 N$ V6 _. u, m6 bint n=0;. ]) i+ K" s8 Z1 M& Q# x
while(n=1)n++;1 j2 }. R! ^4 O7 S' Q
4.每个对象都是所属类的一个 ④ 。
! e& @) R* i$ ~3 G5.用new来动态分配有10个元素的整型数组单元,并用指针ip指向该单元,应使用语句 ⑤ 。
" M2 a7 Z, h/ F1 W" \6.函数模板中,template< >尖括号内用于表示“类型名”参数的保留字是 ⑥ 。
6 s3 S) `0 O0 y7 E7.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的一个新对象时,会调用 ⑦ 构造函数来完成此功能。
$ x8 \0 { r3 d& h' }& f9 Q; W' t6 S0 {8.对赋值运算符进行重载时,应声明为 ⑧ 函数。) f+ h$ G0 Y5 U! C. Y W) ?# ]
9.如果要把A类成员函数fun( )且返回类型为void声明为类B的友元函数,则应在类B的定义中加入的语句 ⑨ 。
" ^4 C) y2 b s8 y10.定义类的动态对象数组时,系统只能自动调用该类的 ⑩ 构造函数对其进行初始化。 2 ]2 l. d: ~4 A* B0 L: h
- _+ A7 G9 E! h( O" z- z" o三、程序填空题(每空3分,共18分)7 I1 y d) g7 G5 G2 J# d
1.在下面程序横线处填上适当字句,使该程序执行结果为反向输出数组的元素:
1 U7 I0 Z7 T1 n" t6 H# ^& E1 d50, 40, 30, 20, 10
+ [) |3 O }" }" ^5 p: D$ U0 }0, 7.5, 8.4, 9.3, 10.2, 11.1
$ Q |5 k+ f( g- ?1 e#include <iostream>
7 z6 n! B. N1 L. j3 Ousing namespace std;8 M( A* _2 ]( q5 Y+ R
template <class T>
: i) y! E$ `/ ]+ E) Y. V' o# bvoid fun( ① )
0 \$ {, g, h! J' K/ c* w{ ② ;* F7 Z0 R. n( a1 i4 v& ?. l0 p
- K7 j( \1 D* Kfor( int i=0; i<n/2; i++)9 q: \# `7 s$ a* ]! k$ Y1 H
{ t=a; a=a[n-1-i]; a[n-1-i]=t; }
% _# Q5 z, |8 [6 T9 N}+ O: S6 W9 j$ U7 O+ A
int main( )
+ m1 v' `' I; L, Q9 w{ int i,a[5]={10, 20, 30, 40, 50};. q6 @3 f# T, n8 H+ p$ s3 D. W
double d[6]={11.1, 10.2, 9.3, 8.4, 7.5};$ U3 N" o9 _% O5 H# {
fun(a, 5); fun(d, 6);4 ~ L, F0 n6 U) N6 \/ L `
for ( i=0; i<5; i++) cout << a << ",";8 m; G0 o( u3 \% C4 ~
cout <<endl; \ g6 B7 v% m$ A9 F4 `# e
for ( i=0; i<6; i++) cout << d << ","; - G0 c+ [. W6 @- q) J2 {/ |0 [
cout << endl; } ( I/ a5 B/ l3 l( x1 s1 {! i
2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为37。 4 r9 T1 p6 J: l# W; e5 D' ]
#include <iostream> , I: l+ w9 w+ X6 g' B* B# M: e
using namespace std;" e; L0 @0 q. X0 a4 z
class Test ! l- G. N9 k% s# A
{ public:
|7 ~2 L9 R% x1 O2 }) \Test (int i=10) {x=i+x;}
% a! e% {* @* \9 c1 I9 g: b& xstatic int Getnum( ) {return Test:: x;}
5 W; q$ t, j( X$ W) P2 [# |# Q8 q private: i: l9 v. R) d
③ ;
# e7 X. f% U8 b+ s$ y
. I! W5 f: c$ y$ Q3 G9 f- z/ X}; - B1 F3 I/ ~$ X" v* b( }7 C
④ ;
" y; U! y' [% w. A$ e0 T- ~& Q7 P2 Yint main( ) % T3 J# M" {/ [! l8 v
{ Test test1, test2(7); 6 }0 f, [ ?4 g( T
cout<< Test :: Getnum( ) << endl; & H5 M6 K: s- k* j* a
} ( |% w( w2 j7 B) I D, n1 v
3.产生10个[1-100]之间的随机数并输出显示,数间用空格分隔。6 G5 K/ H7 Q+ ~: k J2 F! L
#include <iostream>
6 g8 z! ]# Y$ H6 U8 D3 W* {#include <time.h> : [5 R! x3 Z0 n, z+ X6 L* r# r
using namespace std;; E# @+ s5 x" C8 b k
- B( E+ O6 Z/ j4 }
int main( )
* P8 c5 z- x* C7 u; ^2 Q u5 L0 Y{ int i,a[11];
9 ^0 d# \$ \( g" u. B; _srand(time(NULL));4 W/ ^) J1 Y/ w# P5 V
for( i=1; i<=10; i++)
7 ?5 o; ~& T- F G ⑤ 8 p. n7 K2 J$ l: d
for ( i=1; i<=10; i++)
r; D& _0 \; W- N ⑥ ) l9 S$ }9 I- b: E j( `: z D B" A
cout << endl;
+ P* \" h0 `5 v" ?3 @return 0;
2 N+ L& D" ^6 s}- O& k( Y4 |6 k0 E
" f" {) k) T' |7 N4 j
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
1 ^/ W7 }7 l* G5 b/ j4 W 1.程序的功能是?其中if块起什么作用?
7 u0 I' v0 x& }9 i+ d3 S; W#include <iostream>
8 M% y, K3 N8 o0 s' s! @7 V( Lusing namespace std;
2 E% v( P$ }" e) h- Kint main()
+ @* c2 M% k7 ~, t9 _{ int x;8 e, m3 Z1 r9 l7 n/ J0 T
cout << "enter choice(1-4):";
5 z. L; ]6 T; O6 l, b, i" w$ X cin >> x;
" z9 W$ ]: Q% y+ W: p- E* A while (x < 1 || x > 4)
/ P, Z( _# {- N. a5 w5 z x% I. s { cout << "Invalid choice, try again:";% @/ g7 e# b& P1 @
cin >> x;3 X6 }* P! L( Q6 ]* Q% |" E( p
if ( cin.fail() )
; c' s4 f) z1 I: g6 ] { cin.clear();
9 X' E- J5 Q- E3 j3 z cin.sync();& d. n9 X9 t0 G2 `# j3 ?
cin >> x;" r9 y# F. E+ D) {1 `- ^$ f( N
}/ w& A6 Z+ g( N3 }* X" M" w
}& p2 R% o7 o J% {- C
cout << "Had choice:" << x <<endl;) c b$ U6 ~. j! Q, b
return 0; }
7 u) z" E3 M3 ?6 e
& \2 B1 B0 i$ Y* I" n2.给出下面程序输出结果。
% r, j4 E% j+ V2 s#include <iostream>
" _ u6 E! G+ ?& c, Husing namespace std;
0 o3 D7 O* q* I9 P! zclass Test + m9 [! l0 W- @- }+ }
{ public: 5 |- i# x" y6 u
Test( int i, int j=0 ){x=i; y=j;}
% W. i$ v5 B+ r6 Cint get( int i, int j ) {return i+j+x+y;}
$ n: U9 W1 S3 i, }private:$ X/ l, @5 p9 q3 I2 L k
int x,y; }; % v5 K/ H' J+ V/ P7 S
int main( )
- h$ q4 O! ~5 \ f5 E o{ Test t1(2), t2(4,6);
" C- Z5 o E% d P9 w7 yint (Test :: *p)(int, int); 2 z% z* Z! m5 b! W
p=&Test::get;/ m. |, Z( O$ C
cout<<(t1. *p)(5, 10)<<endl; . A/ Q5 P' x( g3 N
cout<<(t2. *p)(7, 20)<<endl;
% R8 @+ d8 B1 N* c' A5 w; Xreturn 0; }
; R0 f7 |$ p1 G) N6 Q0 N o7 d3 x% N9 R5 B
五、模板设计题(第1小题8分,第2小题8分,共16分)
, S6 G+ X4 w3 H" o9 N' G5 k1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。 O9 `, H. u+ B$ Z7 r. y# Y
2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
) L* {" y) `1 B/ H6 [6 H0 h }template<class T, int m, int n>! o0 p5 q; `% H' E
class Matrix
5 Q8 Y ~: f& y" n0 t5 S{ public:
% p, [; o3 p- f* z5 h2 t Matrix( );/ F* v7 o1 e6 p! z0 @' F. f% J
Matrix(T a[][n]);
3 D& O% X% V# {7 k8 `) h" g0 N Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2); 8 D8 ]# y* y0 ^" Q/ g3 B( P+ G ~" b6 f
void Mdisplay( );
" h7 }( p$ Y& S( S private:! J3 ?; N! F! m% \9 M# Y
T x[m][n]; };
# P8 [+ U" T' Q i; m$ T1 ]: J7 R3 [4 q. c) `" u
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分), q2 O N& W% L7 m
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:# G: m3 T6 k( W
class linearfit
0 W, s9 Y5 p) N- t7 u{
* m! v R( d* T) z, {4 Q public:
; L/ t ~+ c# J linearfit( );
5 y! J1 G; J6 p6 F7 p8 n void fit(double x[],double y[],int n);
$ F! b4 E( C" Y* k void val(double z[],double x[],int n);* w9 d/ x- G. v1 ]4 }
double geta0( ){return a0;}
' J: y: J+ ]# ^$ S9 o double geta1( ){return a1;}8 u0 p# v) ]5 b$ S' U- M1 L
void show( );
) _7 y' ~/ f0 }9 B& N void show(double x[],double z[],int n);$ q* c, o( A# b& ]5 |
private:
/ R/ _! b4 \& H( f6 u double a0,a1;
' Z0 t; E; h8 f) |$ ?4 {. {};1 w& u' Z( O% r1 n6 w+ s, O
+ C' h$ @0 w8 r& b7 }( L% e2 A! V
5 k3 u5 V7 C3 [! b( r6 _1 o8 c# E请完成如下内容(分别注明类内与类外部分):
4 C0 q( }& t$ @2 m2 B: [①类外定义无参构造函数,使成员a0和a1的初值为0;" D. k7 W* C: ^* s& X' p! ]
②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。! m+ B, W$ Q- U2 E
. c# I( I0 N# H, ~③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
% X# L+ y2 d4 w
' r; _; @9 }+ Y2 {* \% U/ F; u, n7 p& ]* q
1 C5 ]4 s( F& D _9 v2 V$ y
. `2 x0 @5 c1 c+ H- |; J! o
|
|