You can pass objects by value or by reference.(对象作为函数参数,可以按值传递也可以按引用传递)
//主函数
#include <iostream>
#include "Circle2.h"
using namespace std;
void printCircle(Circle c){//接受对象c
cout << "The area of the circle of " <<
c.getRadius() << " is " << c.getArea()<< endl;
}
int main(){
Circle myCircle(5.0);//此处将实参的值拷贝到形参中去
printCircle(myCircle);
return 0;
}
//主函数
#include <iostream>
#include "Circle2.h"
using namespace std;
void printCircle(Circle &c){//使用引用传递
cout << "The area of the circle of " <<
c.getRadius() << " is " << c.getArea() << endl;
}
int main(){
Circle myCircle(5.0);
printCircle(myCircle);
return 0;
}
//主函数
#include <iostream>
#include "Circle2.h"
using namespace std;
void printCircle(Circle *c){//这里使用指针传递,传递的是地址
}
int main(){
Circle myCircle(5.0);
printCircle(&myCircle);
return 0;
}
【补充】:
Array of Objects(对象数组声明方式)
1.Circle circleArray[10];
2.Circle circleArray[3] = {
Circle(3);
Circle(4);
Circle(5);
};