本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~
载重特别的一个:
void name() const; // 只能被const类型的对象调用
void name(); // 被一般的对象调用
是个载重的函数,载重可以以函数类型和个数,以及函数限制符(const)来别区载重的函数
C++主动供提了上面这些成员函数:
认默构造函数,如果没有义定构造函数
复制构造函数,如果没有义定
赋值操作符,如果没有义定
认默析构函数,如果没有义定
地址操作符,如果没有义定。
载重 << 操作符
义定上面元友
ostream & opeartor << (ostream & os, const c_name & obj)
{
os << ...;
return os;
}
复制构造函数的一般情势
每日一道理
我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。
class name(const classname &);
复制构造函数被调用的情势:
假设 A 是一个string对象
string B(A)
string C = A
string D = string(A)
string *E = new string(A);
还有每当编译器成生副本都调用复制构造函数。具体来说,当函数安值传递对象或函数返回对象时,调用复制构造函数。
c_name & c_name::operator = (const c_name & cn)
{
if(this == &cn)
return *this;
delete[] c_pointer; //放释原类中的指针指向的容内
c_pointer = new type_name[size];
......
return *this;
}