|
《C++语言程序设计》期末考试答题纸
( {& {6 i5 X3 A2 u/ e1 T
4 o3 H c2 |! a+ r姓名: 专业:! X$ ]: k+ Z' ]
学号: 学习中心:
7 T8 U& _/ s8 o! G4 T1 k. T成绩:' `( o, b) E( |" D1 i
8 ]. {$ g! e7 I. @, W2 D# G
注意:请在答题纸上作答,否则不得分!
# q4 J# m! z9 Z* {' {( k- R( P一、更多资料下载:谋学网(www.mouxue.com)(更多资料下载:谋学网(www.mouxue.com)2分,共20分)7 F2 \5 \# W' d9 U
1 2 3 4 5 6 7 8 9 10
' w- @7 x4 ]2 }; R. x% o4 Q1 B; B% ` 5 z2 G, P3 P2 U! l4 s$ O
& q( T/ z( p! L: [# P/ |
二、填空题(每空2分,共20分)# t9 O# ?+ t) \ q+ I& C
1、① & e, l* S8 l8 A# a+ ^- g
2、②
( `: S; i) Q! v7 B0 z" K" L# @5 Q `3、③ ! p& |& Z' X* g% w8 \
4、④ * i+ ~9 a; k, M/ K) w2 G1 f
5、⑤ 5 Q2 D2 Z, y, R5 {' R
6、⑥
- b: Z- @& _4 C; P7、⑦ $ W( Y9 `! Q5 M) ] R. C
8、⑧ 1 x# u( e- t1 O
9、⑨ * W9 h/ X2 w! z; q+ F4 U6 u! a
10、⑩ " ~/ n d0 U8 c: g
三、程序填空题(每空3分,共18分)' \4 k T" b3 I$ @7 l) q
1、① 、②
; C- l1 B9 Q) ^6 k/ d" E9 _! {4 s# d2、③ 、④ ' F, s6 D! `, l4 c( a- Y
3、⑤ 、⑥ # h+ U' W" d, N6 f. ]
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
3 y5 a [5 w2 L 1.程序的功能是?其中if块起什么作用?# K& x2 A: c8 _% f( \
#include <iostream>9 S. ?7 G( a# p% [1 @) f+ l
using namespace std;( |9 t) J; \3 ^1 E5 b
int main(): m6 Q* q3 ]% G' u. h d
{ int x;2 e1 p% A, k6 z. ]5 S8 j
cout << "enter choice(1-4):";9 _/ }5 n( D4 C( O! `, h& W, A& F' h
cin >> x;
/ w5 X4 H9 D( m( D2 @. L while (x < 1 || x > 4)% A& t! l4 w8 U: F1 I3 Y j
{ cout << "Invalid choice, try again:";
5 b+ w( x# k0 f( A4 N& l" a6 h" e+ ? cin >> x;
9 l" ]& b+ a- f$ F if ( cin.fail() )
0 \' U: a! A- a3 x3 S* y9 j* w { cin.clear();
3 e: @1 N7 k6 ]0 H# q" C& J cin.sync();0 M% b1 i! ?9 j |9 C
cin >> x;1 a( e' N0 U- p' |
}
. r1 G8 a0 Y9 v# o8 b( p1 ^ }
0 X; c& k, i8 f: q% l' Bcout << "Had choice:" << x <<endl;
" M4 n B1 G2 q: Mreturn 0; }9 ?- c: W/ k3 }+ r* A
% G( {: B% u# D" a9 c8 S. H$ B. X' o
# \# l2 z* Q" `! q/ @7 K5 C! |& i& b7 ?, S% O, n
9 L5 Y- }3 q9 x/ a1 L) v$ l( X5 }3 }$ C* Z' X$ Q
% H9 y- p! x, n( f' k. ~
, N& m p* l8 M8 z) [
' q2 E/ f* p& i, b& T8 H
/ ] V n4 p- c- F* `& v: [6 d/ K% B
4 E4 t% P4 j* `) K2 N6 _
2.给出下面程序输出结果。 % ?2 G( h% G. t% ]7 O" {
#include <iostream> / ?) E {1 \9 X$ W; f8 z
using namespace std;
$ Z" d: k# A( t" J8 a \' O7 j# y& nclass Test , }8 }- m2 k& q. x2 z; w
{ public: 3 D1 W8 e* e% C2 l9 G
Test( int i, int j=0 ){x=i; y=j;}
) [: E9 b( a+ Z, z" ]int get( int i, int j ) {return i+j+x+y;}
/ m/ m# {$ S" y( p8 v+ Vprivate:4 V. Q% _1 k' H8 W, v3 I5 G3 \
int x,y; };
/ O: L+ o6 H9 e: e- wint main( )
" k2 q- i! ]) e# \! r{ Test t1(2), t2(4,6); ; F3 s* b- A7 Y C4 D5 y- H% J0 h
int (Test :: *p)(int, int); % V1 X3 |0 [2 a+ ^! a. ~. l# \
p=&Test::get;4 g5 U, k0 M: b! }2 z
cout<<(t1. *p)(5, 10)<<endl; : G& ^9 O- ?5 \; @1 X4 u
cout<<(t2. *p)(7, 20)<<endl; 8 P( P+ ?; M0 U
return 0; }
% H4 u9 r% {( A5 Y5 ]
: u3 k' c$ C' c% A4 `- q' M }/ u5 }$ N. ?6 n% |& a
7 U8 |2 R" `$ X! ~五、模板设计题(第1小题8分,第2小题8分,共16分)4 H* [8 L5 x+ }# U% C( Q* `; c1 W
1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。8 ]1 D: |" q& L7 q% q
% E e5 I6 B, Z0 y
6 _# H# P- K; K3 i+ S0 X; S5 o8 j) ~' d9 D/ K5 l
6 @/ e7 Q+ Q. M1 y6 u3 {, o
% P5 _9 b' K$ |( L- n: C: p3 {8 _$ D' g7 W/ v9 X
2 t6 }& g' \! W# L
2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。
5 p' `# p) |" etemplate<class T, int m, int n>
n8 Y% M, B* w- ~3 D; ~class Matrix! e+ Z+ D* _7 I. z$ K" J
{ public:$ D, z9 J9 l: {! e) J _1 E
Matrix( );
/ ^* z$ }) ?7 N& _7 p) r Matrix(T a[][n]);/ Q$ D% V" }! d+ y4 W
Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);
) o+ y- h; w! O/ } void Mdisplay( );$ n, E8 A- n1 @7 h% ]
private:
4 | E9 `8 u+ y k T x[m][n]; };
# _ V) P, E& y& v( C1 _# m) g. z3 ^/ N' l
+ K( ~, G# z4 K1 t) ]' C+ ?
( n s- C; ~5 A, d0 `
3 Y9 N0 V0 |' R9 s* X, q- Q6 l# r+ c
& P9 f$ A9 B7 S( e* N6 y- _5 N! [# r S; T3 e5 y/ z
0 O! a0 u, S2 @; `0 j" O. j5 Y' s) _; x$ T3 ^1 n, n
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分)6 |4 ^0 J9 O! T4 ^" W1 f) u
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:
6 o4 Y; Y+ V7 ~1 S! Bclass linearfit
' n% ~- ~9 ^* q$ L" q4 c2 E7 i{
- v" u; q; {3 v4 e0 S+ s7 y public:
, q6 @9 H$ P% C1 l8 L, u linearfit( );
( v% V4 a: T O# H/ B void fit(double x[],double y[],int n);7 J0 w' Q( I6 s; D6 `: O2 c
void val(double z[],double x[],int n);
; V& C9 H) \% O# l t5 W double geta0( ){return a0;}
n2 t0 i1 c$ a) V double geta1( ){return a1;}) L; V- a5 {0 f4 B# Y. c( v
void show( );1 _: l Q' x" _3 b
void show(double x[],double z[],int n);; q. e7 x/ a3 U% C
private:. E; W- \; V% c7 M
double a0,a1;0 H# g/ a& C7 S& S6 v: Q; y: N' Y) T
};6 y% y' t k9 o; ~# }: I/ N0 ]; O
0 S! z$ I: d( ?) X* x0 I( Q ^
5 s Q5 S+ \$ n6 l6 r! b: [, k请完成如下内容(分别注明类内与类外部分):
" t0 ?; }( D& W9 L" L9 j$ q: B①类外定义无参构造函数,使成员a0和a1的初值为0;
; h# ~6 t8 a- {' J: {# b! P G. A②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。
% E# {! f+ e* u0 R0 f% d& Q( \
L7 |5 B6 K2 D4 o2 h6 \③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)1 k2 o# v( m) }5 p
& M) P( @8 g, Q1 k8 M
/ h/ E) i3 @) C# z
& ~+ l% P% p1 i2 B, W6 F, D' q & t( c! Y- J+ M$ |2 G7 N
《C++程序设计》期末考试试卷
/ K' u' J) d" e4 C: n注意:全卷请在答题纸上作答,否则不得分!+ L% r, o6 Z+ g; U; [
一、更多资料下载:谋学网(www.mouxue.com)(在更多资料下载:谋学网(www.mouxue.com)的四个备选答案中,选出一个正确的答案,并将答案代码写在答题纸上。更多资料下载:谋学网(www.mouxue.com)2分,共20分)
9 C1 j j1 G# J# o' _ v1、下面的哪个保留字不能作为函数的返回类型( )。 . x4 _" A [& J: S2 A) `
A. void B. int C. new D. long
+ N$ K( m3 ]$ f( K& m. ]% \2. 决定C++语言中函数的返回值类型的是( )。 1 p% |( _- {5 y" g4 V) O
A. return语句中的表达式类型 3 ?+ r/ ]. [# p. `* B7 y
B. 调用该函数时系统随机产生的类型
; U( k/ [/ [% V+ q8 D' ~2 C. ?C. 调用该函数时的主调用函数类型 - G- i0 e! ]& Z M
D. 在定义该函数时所指定的数据类型 6 b; X$ e! H. L2 N! [5 ?
3. 一个函数功能不太复杂,但被频繁调用,则应把它定义为( )。
( T- @# g, Y% v7 r) UA. 内联函数 B. 重载函数 8 }9 ?9 q6 I. @# N2 _. d. n" x; @8 n
C. 递归函数 D. 嵌套函数 5 T( K! N6 ^1 y; f
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个整体,这整体就是( )。
. L& `6 S) Q0 QA.结构体 B. 对象 C. 函数体 D. 数据块
% C. E" }1 b5 ]5. 下列不能作为类的成员的是( )。
8 ?3 x/ g/ j2 |5 FA. 自身类对象 B. 自身类对象的指针 5 P7 V& N( P3 U- q, @
C. 自身类对象的引用 D. 另一个类的对象 1 _+ ]$ m) O, f. Y; f1 {" a4 t
6、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ”语句时,自动调用该类构造函数的次数为( )。
& T% L2 h/ t, ^A. 3 B. 4 C. 6 D. 9
% P6 O: z# }: s. A# {- u4 D+ m4 \7. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后 ,x.a和x.b的值分别为( )。
2 B$ @# }6 s" d1 i$ SA. 4和15 B. 4和5 C. 4和20 D.3和20
}3 H8 f4 G# G, u8. 在类中说明成员可以使用的关键字是( )。 * m6 R, u5 d. B6 ?
A. register B. extern C. cpu D. public
5 e! K2 G7 h* _$ U9.假定AA为一个类,a( )为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a( )的格式为( )。. Q+ q( M" o* R$ v' w
A.x.a B.x.a( ) C.x->a D.(*x).a( )
% j$ h0 q3 r% p) R* o1 F$ g10. 下列程序的输出结果是( )。
$ p. O; s6 I& u: n/ o#include <iostream >
8 z. Q; q1 }$ E: q& n; yusing namespace std;% O- h9 d" t6 q2 D4 G
int main() - q# x$ ]) \( v3 e, \7 {6 W
{ int a[][3]={10,20,30,40,50,60}; 2 p6 }. X. A( c& ^
int (*p)[3];
# e- I& v0 }- K9 F6 W p=a;
4 N W2 [/ G" E5 M( s2 \9 ` cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl; }5 ~, b" P$ p8 {, U2 F1 i: A- c
A. 10,20,30 B. 10,30,50 ; Q* u, ~3 M7 |. d
C.20,40,60 D.10,30,60
9 N) w" J, d9 ]* B( x1 G$ G! L二、填空题(每空2分,共20分)注:请在答题纸上做答,答案前注明题目号和填空号。. t; [0 Q& m2 e) l/ k& D
1.在C++面向对象的程序设计中,将一组对象的共同特性抽象出来形成 ① 。
1 a1 | N& Y' ~& x* \5 K8 N2.表达式cout<<endl; 中的endl也可表示为 ② 。
+ Y! b6 k6 C- }4 [3.如下while循环执行次数是 ③ 。' M6 o/ C5 X' Z8 x2 \3 x" `% D
int n=0;; L. J g+ K- q9 L$ t
while(n=1)n++;( i s' L% q, D! k. V. D
4.每个对象都是所属类的一个 ④ 。4 G+ |% L% F. {$ f/ z0 L& c4 w& `
5.用new来动态分配有10个元素的整型数组单元,并用指针ip指向该单元,应使用语句 ⑤ 。: K% D# g3 E! W: D
6.函数模板中,template< >尖括号内用于表示“类型名”参数的保留字是 ⑥ 。1 p9 ]# ?2 k* a$ i* s. `5 ~
7.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的一个新对象时,会调用 ⑦ 构造函数来完成此功能。5 f9 O+ O" [4 r$ S
8.对赋值运算符进行重载时,应声明为 ⑧ 函数。
6 p" A, s2 u2 o( J; O' g9.如果要把A类成员函数fun( )且返回类型为void声明为类B的友元函数,则应在类B的定义中加入的语句 ⑨ 。0 r& ^% M8 T Z0 ~( ~
10.定义类的动态对象数组时,系统只能自动调用该类的 ⑩ 构造函数对其进行初始化。
# A) e1 v8 J7 u/ ^$ D% ~: y3 U
: p/ u- ^: s/ V4 R, Y% j, Y. [三、程序填空题(每空3分,共18分): r! O7 e) E4 f- P" o# F0 E1 \
1.在下面程序横线处填上适当字句,使该程序执行结果为反向输出数组的元素:, L6 N% B! I6 j5 z1 g- D
50, 40, 30, 20, 10' @3 ~: G5 j6 _+ g1 O+ P! y
0, 7.5, 8.4, 9.3, 10.2, 11.1
8 {: t) i ^/ C( e- a; B1 S#include <iostream>
) h. G2 Q; G# {! fusing namespace std;% [/ Z! s+ B- m, W& L
template <class T>
9 j) K/ C( H. [. E/ [0 E3 `void fun( ① ) 6 r9 U( \, R. w/ C& k8 u
{ ② ;" D0 N [2 e. G/ C t
5 v% V! f: A. mfor( int i=0; i<n/2; i++)
+ O7 p- U/ o/ y# v+ _; a' ] b' `2 D{ t=a; a=a[n-1-i]; a[n-1-i]=t; }4 ? p0 U4 b, k7 Q
}
3 t, Q) R% O3 _1 ]" n4 z' Eint main( ) ; C: c( V& m* z
{ int i,a[5]={10, 20, 30, 40, 50};9 ]/ i6 G# j1 x% F
double d[6]={11.1, 10.2, 9.3, 8.4, 7.5};3 k6 o/ Q+ W$ [( ]& Y6 _" a+ j; R
fun(a, 5); fun(d, 6);4 B5 {+ b5 X+ A' v3 l
for ( i=0; i<5; i++) cout << a << ",";8 E4 ~# B4 k9 j4 v
cout <<endl; 2 z8 x$ V5 X6 ?# k- m) |8 m, E: u3 b
for ( i=0; i<6; i++) cout << d << ","; # a' _9 l/ l* p8 i# X6 L, N
cout << endl; }
$ [9 c- l! ~: ]2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为37。
7 B8 R0 b. A% S- A( A1 E#include <iostream> / J' h- ^6 [5 ] i7 i
using namespace std;8 B7 y! q; Q6 W) w7 o a( z5 q6 t
class Test 4 j) n3 d& ^+ h; n4 e: r `& A
{ public: ) h. Q3 I$ V( x" s r
Test (int i=10) {x=i+x;} 5 c, V, E3 G. f
static int Getnum( ) {return Test:: x;} ; T5 I3 E* z. I1 W; c( I+ z% S7 U
private:
2 B' q8 i+ T$ |0 d ③ ; + _% D, x% [) t T/ `
6 r* p/ l- C- Z' q3 y5 q* [}; # l" n% w* u. q! f- h" s+ v
④ ; + n! d6 n/ I! d7 K' T9 C1 L
int main( ) - T, v& }5 m2 s. ] R; m
{ Test test1, test2(7);
. p9 J8 O4 Y' W0 m7 Pcout<< Test :: Getnum( ) << endl;
$ y! ]( } P% m" ^2 ^9 s}
1 M f. p' l8 Y/ }$ P! Q3.产生10个[1-100]之间的随机数并输出显示,数间用空格分隔。
' q w( C% X* q N#include <iostream> # S2 n$ d. S8 l9 P
#include <time.h> 4 K4 N# ]$ ~/ W. G2 `& Y! k- C
using namespace std;, h! N( x( F; l2 ^7 T1 }
# M' P' M7 v" K
int main( )
; y# Y/ W- }" i" Y2 {6 D5 Z{ int i,a[11]; " K. Z d9 E8 G1 }
srand(time(NULL));( p2 ?4 ~/ d0 P& U
for( i=1; i<=10; i++)
( }$ h+ j/ }* X% E4 P; |, D ⑤
- t/ s% b. a& v# Lfor ( i=1; i<=10; i++)7 y+ b& t& o- l* x5 y, a2 e
⑥
) d% |- V. F. P/ @2 x; \ _# o% `# [cout << endl;
9 M) h; F- Y# h- P3 U0 ~! [return 0;
% T6 K' A; k8 [0 d9 D( Z7 h# W}
- k0 m- j# ~) M* S+ j! @' T) P; R- G, ?
四、程序分析题(更多资料下载:谋学网(www.mouxue.com)5分,共10分)
- j1 ^; {- ]2 d8 I- V n. _: Q) ? 1.程序的功能是?其中if块起什么作用? _+ h/ V/ P' d6 Y* t
#include <iostream>: i1 O3 N: n5 T- U5 V) k
using namespace std;
" k- w' k; j; H4 F" Q: K2 B Rint main() B% X+ n5 g b8 w7 K! i/ }
{ int x;& K% l, o+ H# U; e4 g8 p; B
cout << "enter choice(1-4):";
g3 k; _6 Q( w' N/ O. U4 U cin >> x;# n% S4 x! D6 I- \2 J3 T
while (x < 1 || x > 4)9 o$ T* K6 w) _+ K. p
{ cout << "Invalid choice, try again:";/ L1 M( O2 `/ M" s2 x# a
cin >> x;
5 q5 {$ C( s; a/ A/ _4 `, _, E if ( cin.fail() )$ P. ^4 A" v+ v: l' Z' U2 M
{ cin.clear();
/ k# X" x$ H8 E8 s cin.sync();& D0 B b% K% W' S" h
cin >> x;
' s( v/ ~+ v- X }# A; k/ V# y9 v x$ W
}9 e7 N" B7 M8 o$ a( w
cout << "Had choice:" << x <<endl;( U# A& P9 \* x* I
return 0; }% X# V$ ?& {2 H% Y M6 i+ L
' q0 U' T9 o% K' r" f
2.给出下面程序输出结果。 9 m. f: c) O. c8 C* y# z
#include <iostream> 1 c6 G( {/ h- N" |6 X1 _2 ~& [
using namespace std;
" Q: N6 F+ y; v! d' j* U! j# hclass Test ' b) n- L# E5 X$ \
{ public:
G e, o5 U; {Test( int i, int j=0 ){x=i; y=j;} ) ]5 t9 k/ [9 X: @- T- m
int get( int i, int j ) {return i+j+x+y;}- |6 x* v; ?6 D% W2 X, Z
private:
5 H4 V9 z5 Z6 z1 D) R int x,y; }; * R6 }0 J+ y! r, g2 U3 n; D
int main( )
' b7 ] t8 q) u0 W& e{ Test t1(2), t2(4,6); 1 P0 a7 g0 c& g2 y( K# S
int (Test :: *p)(int, int); 4 N4 W4 o+ F; I- O6 i) T# m3 S
p=&Test::get;
3 L) m w7 |8 X0 e' ^! O% s" Icout<<(t1. *p)(5, 10)<<endl;
# C) x5 @' A1 d) A' ]+ X& t" _3 Acout<<(t2. *p)(7, 20)<<endl; $ v7 n% Q z! F! c: m
return 0; }
( E' _% B; C( N* [) H8 N5 S2 Z; ]0 x9 v% _
五、模板设计题(第1小题8分,第2小题8分,共16分); g) R. o7 |/ R- i4 W e: @
1. 编写函数模板mid( )可用于求取并返回3个数据(整/单/双精/字符)值的中间数。
$ E- S/ M7 D1 j0 M# h2 Q# L2.如下是矩阵类模板声明,请在模板外定义功能为矩阵相加的成员模板Madd( )。9 a2 q, m2 p* w1 a+ [4 n
template<class T, int m, int n>
4 [& o" [! ^9 G( R# oclass Matrix
& w& h+ E1 A, k{ public:
3 D' K$ x/ R+ U2 o# J/ |+ `" X, T Matrix( );: ~8 `" y+ M- d5 v
Matrix(T a[][n]);
" Q4 z/ a* b% Z5 V" z9 O Matrix< T, m, n> Madd(const Matrix< T, m, n> & m2);
4 s/ ]2 D* _5 r6 V4 O. U void Mdisplay( );
2 ]' t# P) h" q7 }- h- P private:/ L6 ~6 |- m- _+ o2 Z
T x[m][n]; };, a' X, o+ [$ L' o) f7 `5 O
/ f# S+ B3 M' G) Z+ X4 T
六、程序设计题(第1小题2分,第2小题6分,第3小题8分,共16分): c5 I/ h& z% |4 o# g7 g% g
1.如下是线性拟合类linearfit的声明,其中成员函数fit(double x[],double y[],int n)进行线性方程Y=a1X+a0拟合,对n个元素的测量值(存放在x、y数组中)用最小二乘法求线性方程系数a0、a1。最小二乘法方程系数公式:. u/ ~" f ]0 ~8 Q: K0 Q
class linearfit$ I# I( e/ j/ E0 v. G- f+ I+ J0 t6 M
{6 r& }: Z, `" z
public:
' a; O2 o x2 p- o# W% } linearfit( );) t: j& R! T2 G% q
void fit(double x[],double y[],int n);
% r$ s" ?5 J! G/ ^- J void val(double z[],double x[],int n);( }" ]; O: c; `/ g4 u$ k
double geta0( ){return a0;}
- Y: K9 r" y E5 P double geta1( ){return a1;}
" S( p8 G$ H( @6 p( V0 J( x void show( );
( Z4 v( [, N& S* A' [, b1 Y void show(double x[],double z[],int n);5 \- ^: r5 K1 w5 H5 N
private:
' ]& f, j- n% Z' N double a0,a1;
V0 t6 V' p# R" I};
* U7 |) S% O0 k
" k; X! h7 \6 P" P
) V3 I# S1 t/ G5 z1 q& _( D" @请完成如下内容(分别注明类内与类外部分):
' j; e$ |% m, S: b# z; R①类外定义无参构造函数,使成员a0和a1的初值为0;
9 e! e, \+ J V7 {; J+ l②定义<<插入运算符重载函数,以下图方式输出显示拟合的线性方程参数。分别写出并注明类内声明和类外函数定义。: p6 i$ U/ \$ m& @ i' ~
# G2 _- P4 O7 L③类外定义线性拟合功能的成员函数fit(double x[],double y[],int n)
* M4 a S4 T, `. B3 E: E5 n3 C6 H. r8 X' Q% d+ {
: P8 H( G8 J' {3 S0 J& X& _9 {- k# o# G, U
8 v& m- I' W" w- K, a |
|