C++基础知识 - 赋值构造函数

赋值构造函数

  • 如果没有定义赋值构造函数,编译器会自动定义“合成的赋值构造函数”,
    与其他合成的构造函数,是“浅拷贝”(又称为“位拷贝”)。
定义: 
Human& operator=(const Human& other);

实现: 
Human& Human::operator=(const Human& other){
   
	//当other = other时;
	if (this == &other) return *this;	

	//假如 f1 = f2;
	//自动调用, f1.operator=(f2)
	this->name = other.name;
	this->age = other.age;
	this->sex = other.sex;

	strcpy_s(this->addr,ADDR_LEN, other.addr);
	//返回对象的引用,是为了做链式处理: f1 = f2 = f3;
	return *this;
}

调用: 
对象赋值时自动调用
	//调用赋值构造函数
	lisi = zhangsan;

 
Human.h

#pragma once
#include 
#include 
#include 
using namespace std;

cla

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