题目
‘값에 의한 호출’시 매개 변수의 생성자 실행되지 않음
#include <iostream>
using namespace std;
class Circle{
private:
int radius; //初始化 半径(全部的函数都可以使用)
public:
Circle(); //具体化生成者,且里面没有变量的时候。
Circle(int r); //具体化生成者,且里面有变量的时候,半径等于r;
~Circle();
double getArea(){ return 3.14*radius*radius;}
int getRadius(){ return radius;}
void setRadius(int radius){
this->radius = radius;}
};
Circle::Circle(){
radius=1;
cout <<"点圆生成者实行 radius = " << radius << endl;
}
Circle::Circle(int radius){
this->radius = radius;
cout <<"生成者实行 radius = " << radius << endl;
}
Circle::~Circle(){
cout << "消失者实行 radius = " << radius << '\n';
}
void increase(Circle c){
int r=c.getRadius();
c.setRadius(r+1);
}
int main(){
Circle waffle(30);
increase(waffle); //将waffle的内容代入到c里面
cout << waffle.getRadius() << endl;
}
结果图
生成者实行 radius = 30-----waffle 生成
消失者实行 radius = 31 ----c的生成者不生成,c的消灭
30
消失者实行 radius = 30 ----=waffle 消灭者生成
学习记录