C++基础扫盲系列001

构造函数的种类:

  1. 默认构造函数

自带构造函数

  1. 无参数构造函数

  2. 一般构造函数(重载构造函数)

  1. 复制(拷贝)构造函数,用类的复制,用语Class

#include
using namespace std;
class Complex
{
public:
    double real, imag;
    Complex(double r, double i) {
        real= r; imag = i;
    }
};
int main(){
    Complex cl(1, 2);
    Complex c2 (cl);  //用复制构造函数初始化c2
    cout<

多个构造函数,只要类的声明的时候使用相应的形参对应就行。

#include 
using namespace std;

//复数类
class Complex{
      friend ostream & operator<<(ostream &out, Complex &c);  //友元函数
public:
    Complex(){}  //默认构造函数
    
    Complex(double real, double imag): m_real(real), m_imag(imag){ }  //普通构造函数(可以加缺省值)
	
	Complex(const Complex &c):m_real(c.m_real),m_imag(c.m_imag) { } //拷贝构造函数(参数是const Complex &类型)
    
    Complex(double real):m_real(real), m_imag(0.0) { }  //转换构造函数 

	Complex(Complex &&c):m_real(c.m_real),m_imag(c.m_imag) { }  //移动构造函数 
  
private:
    double m_real;  //实部
    double m_imag;  //虚部
};

//重载<<运算符
ostream & operator<<(ostream &out, Complex &c){
    out << c.m_real <<" + "<< c.m_imag <<"i";;
    return out;
}

int main(){
    Complex a(10.0, 20.0);  //调用普通构造函数
    Complex b(89.5);  //调用转换构造函数
    Complex c;  //调用默认构造函数

    return 0;
    }

你可能感兴趣的:(C++基础,c++,开发语言)