|
《C++语言程序设计》期末考试答题纸
4 B1 O/ T5 n0 K- X! P8 |
2 h+ T$ a, c; i h; \2 X2 D姓名: 专业:
* v. G8 H) h4 v/ ] N8 i, R: S/ l" r学号: 学习中心:+ N- _9 b4 c8 R8 Z' \* g( k# s
成绩:
: F' z0 c0 d& `0 B4 A
- k6 c4 X/ e0 t& S5 L注意:请在答题纸上作答,否则不得分!/ s6 w, _, O8 }; g, N( A* b- u$ n
一、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com)2分,共20分)
( @1 y5 S' q1 b( \( m1 2 3 4 5 6 7 8 9 10
0 F& w) Y9 k( {: ` 2 m7 Q: f: {% c6 y9 T
. w* {0 d7 b4 N; Y+ J5 _2 ^( _" T+ I3 D. X二、填空题(每空2分,共20分)
: ]% U4 q. m4 @" X& v1、① * s) k' [7 h9 o% z: Q; \! m. F$ V
2、② * ^ W) d2 Q. }& N$ M/ C
3、③ 7 W3 |+ r/ \, t6 h7 _
4、④
, y* f! _1 J5 d, ]' N9 D5、⑤ . m' p$ n; M9 o& i: D
6、⑥ 0 B3 Y- ]& N* r/ r' g% v
7、⑦ : q% O7 R$ k% c3 |+ {1 h
8、⑧ 3 b' C$ v7 q9 W
9、⑨
( }9 q- A$ d9 m w# T' V5 |2 z5 p10、⑩
9 [6 q2 c4 `& O d三、程序填空题(每空3分,共18分)
5 ]& b" _0 I1 T! a% X$ r1、① 、②
, Q5 E2 }8 f w$ M1 K9 C$ [- k, D! d2、③ 、④ " `* o3 `% z' \: ?
3、⑤ 、⑥
( B- N3 e7 W/ @/ J& p四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分) # g% n3 @% ?, v9 |% v0 p' O% m
1.程序的功能是?其中if块起什么作用?7 w9 L$ a8 G3 B' E, [! d8 B' u
#include <iostream>: z% B, p% [# a5 a0 p; d
using namespace std;1 H4 |) \- K" p
int main()* u8 @2 l. ?: r I g0 ?
{ int x;
9 U0 D. k5 {3 i cout << "enter choice(1-4):";
6 @# @) I! s6 P2 {/ I6 X/ q cin >> x;
# L& }2 @- w7 K while (x < 1 || x > 4)
6 a6 r. M1 h* Q6 [/ z9 ^ { cout << "Invalid choice, try again:";
, n$ k" n8 L- r- V3 X6 x/ A cin >> x;
0 ?" u0 \3 B3 j2 u if ( cin.fail() )9 ]" `# J& P/ U' E# I4 N( U
{ cin.clear();
X; Y+ p+ G% A( I$ m5 w cin.sync();
& b" X- v9 Q" W cin >> x;6 z$ y4 ~: _6 ~& y
}
# a' ^- `0 m/ ]8 _2 o4 c }) ]+ K- `8 ^5 K9 ? C
cout << "Had choice:" << x <<endl;
) L' f4 x: }, e4 X Breturn 0; }
9 i6 B2 w8 p3 q' [+ K; A
% T6 B' k B8 A; [+ o8 k" ?# e$ `6 i' s
) _) z+ k3 c3 b0 m6 S. V" p* I( j {1 f* p
\7 b8 S) h& N+ O8 O3 r
! D7 ?& i! U7 P+ v
5 T( h9 _# D! {; Z3 K$ D: }3 S8 J" g7 u7 N. W- W" Y
, Y! I& p% q1 O. j. P2 e( F
9 C, d; ^- O' e0 O
& i3 t; o! j( C5 V3 P0 |2.给出下面程序输出结果。 1 j9 z/ ]7 }9 q
#include <iostream> 4 T! C/ c% C6 X; t+ g* x/ H
using namespace std;) j" S- V# t% E1 J' U. e
class Test 3 H& J% v3 A+ {! A6 ]% @1 ~; Y. z
{ public: m+ r9 n5 n$ l! t [* z+ p
Test( int i, int j=0 ){x=i; y=j;} . s$ F- t( b7 y
int get( int i, int j ) {return i+j+x+y;}
+ L1 T2 e: C; m0 g' |private:
. w& t6 [, \5 _( n" T" u$ o int x,y; }; ) _/ P1 Q8 |1 \- S0 u: b
int main( )
y7 M P3 ^" c* o( g9 M{ Test t1(2), t2(4,6); ( f( K5 B( `- Q" D& N& z
int (Test :: *p)(int, int);
1 G* ]1 v1 s2 l8 O4 g5 |p=&Test::get;+ l1 ]$ I+ a0 P9 O2 ?' N
cout<<(t1. *p)(5, 10)<<endl;
* n6 B3 q4 x8 d1 q3 Ucout<<(t2. *p)(7, 20)<<endl;
: y, w1 D$ b/ @! f' R: u4 H/ T4 C& breturn 0; }
# {+ B' ~, b) Y! W7 y" f, L9 S) a( k6 e
0 G4 }4 M* \. R5 Y4 z
9 j, Y& }7 m. w' x- u: s; Z
五、模板设计题(第1小题8分,第2小题8分,共16分)4 p7 l }* q, L4 {) {. k* [# x+ m) u
1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。( r) t$ H" j) d4 T8 u5 l d3 r
0 W8 Q& J6 O6 W4 f
8 h5 Q5 A6 L8 @ |" ^
, K" n# x2 M& S" X p3 f7 a" y+ j2 E
E5 d- P2 Y* {5 a4 u9 o! S" U# [
& N3 c0 s7 \" N5 f$ I- q
/ T6 V: J. M( D8 I% F. A8 L7 A% P
2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
) v$ Y) A, J2 Q4 R. L& Ltemplate<class T, int m, int n>
9 @9 T3 e- E4 V0 f- Z3 S2 Hclass Matrix
8 g3 d3 H$ Y- E; n9 E% L% J{ public:& M5 H0 U, ~, J1 y
Matrix( );
% P8 p: i9 e& ~; X$ m& k Matrix(T a[][n]);* A$ S$ F* i) s8 I
Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2); , C3 J( s. W7 \ y
void Mdisplay( );) x+ R- Y# ?- e% k' V5 X6 n
private:& r" l( ?: c& n% _
T x[m][n]; };- F5 l( i9 I1 G5 h( J: O
. \: `" v# e) x- ~
8 [. z; ?) c3 m: h+ E" A$ d' r
0 e* \& k5 ]0 X
/ h% V$ A. q" J: T" T5 C- M1 `! |% [8 k5 r; O* g9 h2 _( K J
/ I$ s4 e5 M6 F% p3 a+ s" V6 B1 \! w& ^9 q4 C2 D% ^9 v" V0 _9 h& _2 [
" t+ T b ~, c! G" e& R) r
- G% @' V6 u1 _5 K
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)
6 G' l% k* Y4 I2 @! K. N1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:. H* \4 \! z d& \8 z7 w
class linearfit- ~2 Z. A6 l5 U5 a
{
0 o( r# Y6 u5 A# Y! C/ {) v/ Q9 M! N public:8 ]/ t1 m* v6 y% W6 V
linearfit( );; }9 K: N! u$ z4 o8 n$ {! E4 l& q4 T
void fit(double x[],double y[],int n);
V9 F a$ d8 g1 ~+ ^$ M" c( {1 C0 A void val(double z[],double x[],int n);' U( J2 ^- [2 h j$ g ]7 t
double geta0( ){return a0;}
) o- g$ o+ H3 T! T6 u* U# u0 c double geta1( ){return a1;}
; }; B! z( D2 l% { void show( );
2 a2 s7 n# L2 u- m void show(double x[],double z[],int n);
* u; a0 p4 H: P" y; I$ H- {9 f private:
$ I. L" p& Y/ T+ R double a0,a1;; l5 u. a4 L9 e1 @$ K4 I! r4 J; [
};
% w: S, {- i( e) P5 \# P
0 K+ h9 |: c' i; B& A9 O' q. V
7 I S5 u1 D; k4 S2 n/ y0 E请完成如下内容(分别注明类内与类外部分):: T# j) I" p+ c5 h/ a
①类外定义无参构造函数,使成员a0和a1的初值为0;
2 F$ m* F1 J5 J+ a8 ]5 x+ H②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。
$ n/ q6 [7 ?- x6 r a' J
0 {2 K$ r0 ~7 e t③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)' a+ ]9 Y4 o8 ]4 W! j$ G% f
/ b7 h) F2 O8 I( n" F# A
7 G9 \7 @8 X4 B9 e
4 t( \5 L% ^. v0 r( T7 v+ Q
. ]0 L. \- g( _! F- j《C++程序设计》期末考试试卷2 E2 k+ T! Z4 Q3 u/ E" C
注意:全卷请在答题纸上作答,否则不得分!
+ Y9 g; r% @( j6 p$ d一、更多资料下载:谋学网(www.mouxue.com)(在更多资料下载:谋学网(www.mouxue.com)的四个备选答案中,选出一个正确的答案,并将答案代码写在答题纸上。更多资料下载:谋学网(www.mouxue.com)2分,共20分)
( _: u, `* E9 `/ l/ H1、下面的哪个保留字不能作为函数的返回类型( )。
7 O7 Z+ v6 R( a+ z" TA. void B. int C. new D. long
1 [! f3 F/ q* l9 |' Y2 I: V2. 决定C++语言中函数的返回值类型的是( )。
, l+ C: j, S" u5 LA. return语句中的表达式类型
g+ _' \; N1 L @( E, _B. 调用该函数时系统随机产生的类型
# j2 ?6 \+ J$ A3 c% SC. 调用该函数时的主调用函数类型
% W) ~% d8 N2 i# k, |# _' K E3 o) ND. 在定义该函数时所指定的数据类型
A+ `2 J+ n( g! D% L6 x3. 一个函数功能不太复杂,但被频繁调用,则应把它定义为( )。
& [! V- L; B: c2 t5 n+ w4 mA. 内联函数 B. 重载函数
( e# }5 z; ~2 `# o* @C. 递归函数 D. 嵌套函数 , p) F$ o4 H8 x" J2 X
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个整体,这整体就是( )。
, z+ e5 G( @1 n$ A1 O5 C* R1 o: [A.结构体 B. 对象 C. 函数体 D. 数据块 / F5 ]9 j" r3 P3 A
5. 下列不能作为类的成员的是( )。
, l6 C8 m7 w o# {* F: [, wA. 自身类对象 B. 自身类对象的指针 3 [' q4 z5 C4 X# E: ^
C. 自身类对象的引用 D. 另一个类的对象 / {$ [: G8 P# l8 N* [
6、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ”语句时,自动调用该类构造函数的次数为( )。 8 Z6 b) y/ h7 w( O: T
A. 3 B. 4 C. 6 D. 9 6 k' I% f# \$ A$ E, z0 y `
7. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,x.a和x.b的值分别为( )。
& X; e# O m9 YA. 4和15 B. 4和5 C. 4和20 D.3和20
: z: M" W* d% P+ d9 G" N+ D% @, H7 ?8. 在类中说明成员可以使用的关键字是( )。 & [9 U' ^5 T- y) q" z+ d
A. register B. extern C. cpu D. public ' ?) h6 Z+ Y1 S( r ^
9.假定AA为一个类,a( )为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a( )的格式为( )。2 D4 w$ k4 O! h; y
A.x.a B.x.a( ) C.x->a D.(*x).a( )/ {0 Y3 z D7 V# {8 k* G
10. 下列程序的输出结果是( )。
$ B2 p7 ~) `- F+ j: `# ~5 h#include <iostream >
% Q7 n' t! D: j0 B: u- Dusing namespace std;" T2 n2 u/ {8 Z- b$ H0 ]
int main() ' g* V( N! ?4 b5 q/ Z- Y: Q
{ int a[][3]={10,20,30,40,50,60};
3 U7 D. e/ q+ q' ~ int (*p)[3];3 h: P. W+ Z- K N* I1 V: r( {
p=a; ) [3 v4 v5 A5 O; Q" r* k% x
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; } F& H' D! ~2 v
A. 10,20,30 B. 10,30,50 1 K6 K, y4 }6 g! U
C.20,40,60 D.10,30,60. I% l6 Q" q: i* h( A) e2 H( R* S
二、填空题(每空2分,共20分)注:请在答题纸上做答,答案前注明题目号和填空号。
9 u# X- S4 k4 {- b! N1.在C++面向对象的程序设计中,将一组对象的共同特性抽象出来形成 ① 。
& P! ^ \$ c- d2.表达式cout<<endl; 中的endl也可表示为 ② 。* U( S- d% j8 W/ x! a- u4 l
3.如下while循环执行次数是 ③ 。 _6 ]+ C4 L" B) J/ C! U
int n=0;
0 ~% ^, o% |" i$ G3 f5 R- [while(n=1)n++;& y9 ~: p( a' q& o
4.每个对象都是所属类的一个 ④ 。
5 v N/ ]0 h7 z: p2 {2 O5.用new来动态分配有10个元素的整型数组单元,并用指针ip指向该单元,应使用语句 ⑤ 。
: |& q) a: U) e4 G6 D' G5 H6.函数模板中,template< >尖括号内用于表示“类型名”参数的保留字是 ⑥ 。/ l0 l: E% _4 ]2 _ f
7.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的一个新对象时,会调用 ⑦ 构造函数来完成此功能。; J* X% Q& z: f( r; z4 t) f# T
8.对赋值运算符进行重载时,应声明为 ⑧ 函数。
4 T7 ^9 c- o: V# U9.如果要把A类成员函数fun( )且返回类型为void声明为类B的友元函数,则应在类B的定义中加入的语句 ⑨ 。
0 g( P) D4 u6 L& @10.定义类的动态对象数组时,系统只能自动调用该类的 ⑩ 构造函数对其进行初始化。
# _- k) t! G+ k* S$ \
/ @7 i& i7 v& Z) F) g% O三、程序填空题(每空3分,共18分)
: y' u! j W3 G8 V6 t. ^1.在下面程序横线处填上适当字句,使该程序执行结果为反向输出数组的元素:% m2 p d; q+ t D Y
50, 40, 30, 20, 10
$ u2 ?3 U3 k( H# O0, 7.5, 8.4, 9.3, 10.2, 11.1: k& d4 K8 _7 V: X, _
#include <iostream> : V! v2 J V1 u: @8 x5 T/ k- T3 o
using namespace std;: H" D/ `% _# `- o/ c/ x
template <class T>; M! o- N0 V. X* I
void fun( ① ) 1 {2 b& n- n% m" G
{ ② ;& g0 U9 H; y- S: f, ?9 P" Y
6 L& z+ C) \& p
for( int i=0; i<n/2; i++)& Q* l o8 n6 L" c4 |
{ t=a; a=a[n-1-i]; a[n-1-i]=t; }
& _0 D7 A- Y0 m) T& t ]}
) S2 B, @5 ^; @( ?0 J8 |; u0 Wint main( ) , {1 m) p( M! E* R3 [
{ int i,a[5]={10, 20, 30, 40, 50};' x$ J( d3 v9 @. h7 c
double d[6]={11.1, 10.2, 9.3, 8.4, 7.5};
' S W/ [1 g" U* A6 tfun(a, 5); fun(d, 6);
+ p) Q4 P8 c! {7 O5 W+ _for ( i=0; i<5; i++) cout << a << ",";
+ x- m, U8 h# m% Dcout <<endl;
X3 ~/ I8 c2 @8 ]7 lfor ( i=0; i<6; i++) cout << d << ","; : Z. k* K4 g, |% D
cout << endl; }
% y0 w' y( F4 q6 I2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为37。
( \: d# i9 O8 ^% P! N% x#include <iostream>
0 z+ n/ s0 g9 u- ?. B* G' dusing namespace std;, Q2 z$ a" p+ }% o: ?" W4 B
class Test
4 o) Y( \+ l" M' ]( C$ C2 O{ public: : o ~& q, l; I% u
Test (int i=10) {x=i+x;} 6 ^0 x2 ^! g( S1 _* `
static int Getnum( ) {return Test:: x;} ! I5 p9 ]/ A, T9 Z6 `6 u4 L8 @* J
private:; b: F' { }; }0 R# J
③ ; ( I2 m {( x+ V. T2 {. `
' k% p# a8 w7 q' {6 J7 F: |};
) a% z4 G/ n6 ~9 [" t8 t& F) ? ④ ; 2 L4 p& w4 M+ U+ q. u; n+ }
int main( ) 5 T/ N$ \+ A: G5 x: Z
{ Test test1, test2(7); 6 [9 r6 p6 A5 L1 b5 Y
cout<< Test :: Getnum( ) << endl;
2 i/ R; d! I( [1 j' H} " ]( V' G# i8 j7 m/ D* A3 t: q. h t
3.产生10个[1-100]之间的随机数并输出显示,数间用空格分隔。6 }2 {* M% I9 M: S. @9 N1 x
#include <iostream>
$ e+ C5 v3 Y5 `( G: d#include <time.h>
+ h" [' l/ y! t& N8 B- X9 \: r% L! gusing namespace std;9 O, o4 y, u" T5 w2 O$ m
& C2 K! v$ [6 x0 l+ xint main( ) / i2 ?; P. V7 d5 ]6 d& l/ r, u
{ int i,a[11]; , P1 S9 U+ ^6 e9 `7 q* F" ~) w) `+ M' _
srand(time(NULL));3 }" {5 `8 X' e( R1 t' q
for( i=1; i<=10; i++)
' O* x6 U; v( _' H. m1 m ⑤
. o/ x$ {+ W8 Zfor ( i=1; i<=10; i++)4 m+ F9 z4 V, X. i* t
⑥ 2 e& ~0 g6 m8 N
cout << endl;
/ `' v/ l6 b& U8 h9 @3 ?! ~return 0;
1 w' D- U% t/ s- A}+ j# ~2 r( P! i( R5 R8 x7 Q. m
+ P! I1 i P/ F/ ~) o1 O! z
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分) ! t: f" n+ v- m `% g, F
1.程序的功能是?其中if块起什么作用?5 g1 Z P& B- J# x' K( _
#include <iostream>
3 H( \7 a& K7 D* d2 `( Eusing namespace std;2 w# A: P8 B' u" P, |( M
int main()- o" G! q) D8 W3 O+ |
{ int x;; h3 g; N! I4 {$ b8 Y
cout << "enter choice(1-4):";
; s8 M: k( b e& Q& L' }3 s6 w cin >> x;
4 o4 y8 t* |3 X" X% ]# Z while (x < 1 || x > 4)
* A, e! E& i. R; H+ L( I) C { cout << "Invalid choice, try again:";
; V: r8 y$ q5 p3 y6 w cin >> x;# ^5 j$ F: C: u. |9 N
if ( cin.fail() )* I0 m2 `$ \: o8 u; n3 j
{ cin.clear();' X0 s2 r9 @. }& S2 l& F
cin.sync();
/ ~2 n; J+ h7 S: t' u8 J: F cin >> x;1 p6 B/ F6 u. d5 \) N
}' m- u, R+ T& O& i4 B
}
& [/ d. W( H1 X4 f$ ]: g$ Zcout << "Had choice:" << x <<endl;
+ m: L( [. C. W) Freturn 0; }+ m; |/ E/ v7 n. l9 V# ?
' g# E7 N- q9 f. ~+ o" K9 Z2.给出下面程序输出结果。
}* x9 }6 x( ]5 n' v#include <iostream>
% I2 M7 v; _1 I ]. ~4 s. Qusing namespace std;
( X4 m# W$ e- x6 b3 yclass Test ! R1 u8 Q! Y1 o0 j; x3 ?/ W3 s
{ public: 5 k4 ^5 z, @* E! Q& C& o$ w+ I
Test( int i, int j=0 ){x=i; y=j;}
) `# H& `* T1 p& I, @% h- mint get( int i, int j ) {return i+j+x+y;}
2 z* B4 K, z2 B9 T2 l! xprivate:: ~4 J& H* Y. {* w0 q# |
int x,y; };
7 A# R, T6 X' A! O# X1 \* uint main( )
% x0 z4 p- ~' s9 @: e{ Test t1(2), t2(4,6);
# }* R$ F v4 v% I; U: \int (Test :: *p)(int, int); 4 w8 B3 B6 @3 c" b* P2 W; b/ s
p=&Test::get;
: o* @% B& N9 q; Jcout<<(t1. *p)(5, 10)<<endl; $ v6 N8 w* ~5 r' M/ z
cout<<(t2. *p)(7, 20)<<endl; 8 { B T& t% I# z2 m
return 0; }( Q' [# z- G7 F7 m$ ~" F7 P
* _9 P3 U# s7 @9 P! O W9 X
五、模板设计题(第1小题8分,第2小题8分,共16分)
( b' ~& d! a- e$ l' E0 ]$ ?2 L1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。
$ I& l" S/ B+ n. Z8 M; V0 z2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
6 \7 H. S$ |. i' p' K$ l6 d4 b+ f3 ttemplate<class T, int m, int n>" S- h1 C. n: n7 Z1 h
class Matrix
, t' F. @' O1 s# P6 i2 t* R8 f{ public:5 l1 b& o, ]8 w: v" P0 }
Matrix( );
& [) t% J# ~6 ~+ d# V Matrix(T a[][n]);
5 p# _' o6 z8 g Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);
8 o5 _ P3 U8 `2 [, Z: o. v void Mdisplay( );" s/ V+ h9 L; O) n# H% [
private:
$ q- Z' i4 ]" j: w' [7 U4 E T x[m][n]; };; o, U4 M5 Y7 z& } t* I8 {- ^
$ f8 f3 M1 h4 g k& Z" h: {0 H. S
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)! [6 l `4 f# x& }. h) I" ~: V
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:8 j+ }" u$ q/ ^* `) D8 `6 n
class linearfit
; |' S. n; X4 g7 m{, ]& d0 N7 x, b, V1 S! H4 j
public:
) ?. e* R4 a, V8 t" O% m# G, F linearfit( );
) z4 e' ^5 H' a void fit(double x[],double y[],int n);1 ` \! Y6 j0 M# J( ^' u
void val(double z[],double x[],int n);
; h/ E' [! G4 L double geta0( ){return a0;}- n" u# N0 l2 e5 ~$ U
double geta1( ){return a1;}2 O0 ]7 I; V8 I O) T4 r6 e
void show( );+ ^) f* c! ^& _" Y* S
void show(double x[],double z[],int n);
4 P( {( g2 Q/ t# D( d9 G; @ private: C( A; ^; W. y7 W8 t) H& n5 F
double a0,a1;
. a& F, J. o( c7 D* Z};2 C+ v: j2 W3 @, q7 z" k
6 t- g0 K( T V3 } s- ]) ^% R0 c
- C5 w3 G' g w( i4 a. C# Y请完成如下内容(分别注明类内与类外部分):
% Y, u5 o1 n+ W2 [$ b①类外定义无参构造函数,使成员a0和a1的初值为0;
) g. h& C: B% r+ l②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。' M p& l) \1 R% J6 O
6 n' p7 j7 _0 b" f2 b; b; m
③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
* i R$ M! Z. y1 B5 v
' }! p- F" c" n, Y; S: w/ D
0 g) [, p( N0 n3 \. }5 L
5 Y3 B7 P' y% B( J) C& Q
* L5 a7 d+ U- S/ j1 e* B |
|