1、思维导图
2、类中存在引用成员情况下有参构造
cpp
#include <iostream>
using namespace std;
class Cy
{
float &r;
public:
Cy(float &r):r(r){
cout<<"类中存在引用成员情况下有参构造"<<endl;
};
float set_r(float);
void show();
};
float Cy::set_r(float a)
{
r=a;
cout<<"半径r为"<<r<<endl;
return r;
}
void Cy::show()
{
float Pi=3.14;
float S=Pi*r*r;
cout<<"面积为"<<S<<endl;
float C=2*Pi*r;
cout<<"周长为"<<C<<endl;
}
int main()
{
float r=2.0;
Cy s1(r);
s1.show();
s1.set_r(1);
s1.show();
return 0;
}
3、类中存在const修饰成员情况下有参构造
cpp
#include <iostream>
using namespace std;
class Rec
{
const int length;
int width;
public:
//有参构造函数
Rec(int length,int width):length(length),width(width){
cout<<"类中存在const修饰成员情况下有参构造"<<endl;
};
void set_length(int );
void set_width(int );
int get_length();
int get_width();
void show();
};
void Rec::set_length(int a)
{
// length=a;
}
void Rec::set_width(int b)
{
width=b;
}
int Rec::get_length()
{
cout<<"长度为"<<length<<endl;
return length;
}
int Rec::get_width()
{
cout<<"宽度为"<<width<<endl;
return width;
}
void Rec::show()
{
int S=width*length;
int C=2*width+2*length;
cout<<"面积为"<<S<<endl;
cout<<"周长为"<<C<<endl;
}
int main()
{
Rec s1(4,3);
//s1.set_length(3);
s1.set_width(2);
s1.get_length();
s1.get_width();
s1.show();
return 0;
}
4、一般情况下有参构造
cpp
#include <iostream>
using namespace std;
class Car
{
string color;
string brand ;
int speed;
public:
Car(string color,string brand,int speed):color(color),brand(brand),speed(speed){
cout<<"一般情况下有参构造"<<endl;
}
void set(string,string,int);
void display();
void acc(int a);
};
void Car::set(string s1,string s2,int c )
{
color=s1;
brand=s2;
speed=c;
}
void Car::display()
{
cout<<"汽车颜色为"<<color<<endl;
cout<<"汽车品牌为"<<brand<<endl;
cout<<"汽车速度为"<<speed<<endl;
}
void Car::acc(int a)
{
while(speed<=120)
{
speed+=a;
cout<<"汽车加速中,当前速度为>>>"<<speed<<endl;
}
cout<<"汽车已到最高速度120>>>"<<endl;
}
int main()
{
Car p1("red","奥迪",120);
p1.display();
p1.set("bule","五菱",100);
p1.display();
p1.acc(10);
return 0;
}