文件1:
#include <iostream>
#include "matrix.h"
using namespace std;
int main() {
Matrix m;
m.fill(6);
//m.data[0][0] = 1; //编译器报错:data[6][6]是私有成员
m.out();
print(m);
return 0;
}
文件2:
//matrix.h
#ifndef MATRIX_H
#define MATRIX_H
class Matrix{
private:
int data[6][6];
public:
void fill(int num);
void out();
friend void print(Matrix obj);
};
#endif
文件3:
//matrix.cpp
#include <iostream>
#include "matrix.h"
using namespace std;
void Matrix::fill(int num){
for(int i = 0; i < 6; i++)
for(int j = 0; j < 6; j++)
this->data[i][j] = num + i + j;
}
void Matrix::out(){
for(int i = 0; i < 6; i++){
for(int j = 0; j < 6; j++)
cout << this->data[i][j] << '\t';
cout << endl << endl;
}
}
void print(Matrix obj){
cout << "obj.data[0][0] = " << obj.data[0][0];
}
运行结果:
本实验覆盖了类的定义、成员函数的定义、this指针、成员的访问权限、友元等知识点。