重指针转换操作 template <class T> Array<T> operator T*(void)const ∥返回当前对象中私有数组的首地址 return alist: 休息
前一页 休息 16 重载指针转换操作符 template <class T> Array<T>::operator T* (void) const { // 返回当前对象中私有数组的首地址 return alist; }
指针转换运算将的作用 include <iostream.h> void maino void maino Array sint a(10) int a[10]; void read(int*p, n) void read(int*p, int n); read(a, 10) read(a, 10); void read(int*p, int n) void read(int*p, int n) for(int i=0; i<n; i++) for(int i=0; i<n; 1++) cin>>p(; cin>>p[: 了一页休息
前一页 休息 17 指针转换运算符的作用 #include <iostream.h> void main() { int a[10]; void read(int *p, int n); read(a, 10); } void read(int *p, int n) { for (int i=0; i<n; i++) cin>>p[i]; } void main() { Array<int> a(10); void read(int *p, n); read(a, 10); } void read(int *p, int n) { for (int i=0; i<n; i++) cin>>p[i]; }
Array类的应用 直 接·例92求范围2~N中的质数,N在程序 访运行时由键盘输入。 线性群体 休息
前一页 休息 18 Array类的应用 ⚫ 例9.2 求范围2~N中的质数,N在程序 运行时由键盘输入。 直 接 访 问 线 性 群 体
Include <iostream h> include <iomanip. h> include 9 1.h void main(void) Arraysint> A(10); int n: int primecount =0, i,j; cout <<Enter a value >=2 as upper limit for prime numbers:, cIn >> n: A[ primecountt+]=2;∥2是一个质数
#include <iostream.h> #include <iomanip.h> #include "9_1.h" void main(void) { Array<int> A(10); int n; int primecount = 0, i, j; cout << "Enter a value >= 2 as upper limit for prime numbers: "; cin >> n; A[primecount++] = 2; // 2是一个质数
for(i=3; i< n; i++) I if (primecount ==A. ListsizeO) A Resize(primecount 10); if(i%2==0) continue; j=3; while (<=i2 &&i%j=0)j+=2 if (> i/2) Alprimecount++]=i for(i=0; i< primecount; i++) scout≤<setw(5)<≤A[; if ((1+1)%10==0) cout < end; cout < end
for(i = 3; i < n; i++) { if (primecount == A.ListSize()) A.Resize(primecount + 10); if (i % 2 == 0) continue; j = 3; while (j <= i/2 && i % j != 0) j += 2; if (j > i/2) A[primecount++] = i; } for (i = 0; i < primecount; i++) { cout << setw(5) << A[i]; if ((i+1) % 10 == 0) cout << endl; } cout << endl; }