C艹之路 1.1d--对象赋值和复制,静态与友元

两者区别在于:赋值是给对象(必须已经定义的)赋值;而复制是从无到有建立一个新的对象

对象赋值[必须同类]

  • t1=t2
    其中只会复制成员变量,毕竟函数是共有的

对象复制

  • Box box2(box1)
    实际上是调用复制构造函数完成复制,与赋值区别在于????

静态数据成员[与C语言中的静态变量一样,程序结束才会释放空间]

  • static
    此时该成员变为各对象共有的
    只能在类外初始化 默认值为0 也不能使用参数初始化表初始化数据成员

静态成员函数

  • 同上,且主要访问静态数据成员
    类外调用使用::符号
    同时没有this指针

友元函数

  • friend 可以访问类的私有成员
class Date
{
friend void Time::display();
}

此时Data类的数据可以被display函数(自然也能访问Time类的数据)访问

友元类 [单向]

  • friend 类名相当于某一类所有成员可访问我的全部成员

类模板

你可能感兴趣的:(C艹之路 1.1d--对象赋值和复制,静态与友元)