Dy2.c语法
构造器
用途:用于初始化类对象的数据成员;
构造函数与类名相同,没有返回值,可以有多个构造函数。
不同构造函数的参数数量或类型应该不同。
构造函数不能声明为const,因为构造函数必须给数据成员赋值,类对象在构造函数完成后得到const属性。
默认构造函数没有参数。如果我们不声明任何构造函数(包括那些不是默认构造函数的构造函数),系统将自动定义默认构造函数。
构造函数初始值列表
复制,分配,破坏
复制:通过初始化变量和值来传递或返回对象。
赋值:使用赋值运算符(=)
结构:当对象不再存在时,执行销毁操作。
访问控制和封装
私有变量或函数在类外是不可访问的,甚至是不可见的。只有类和朋友函数可以访问私有成员。
默认情况下,该类的所有成员都是私有的。例如,在下面的类中,width是私有成员,这意味着如果不使用任何访问修饰符,该类的成员将被假定为私有成员:
遗传特征
继承的方式有三种:公共的、受保护的、私有的,它们相应地改变了基类成员的访问属性。
1 .公共继承:基类公共成员、受保护成员和私有成员的访问属性在派生类中分别变为:public、protected、private。
2 .受保护继承:基类的公共成员、受保护成员和私有成员的访问属性在派生类中分别变为:受保护、受保护、私有。
3 .私有继承:基类的公共成员、受保护成员和私有成员的访问属性在派生类中分别变为:private、private、private。
但无论哪种继承方式,以上两点都没有改变:
1 .私有成员只能被这个类的成员(在类内)和朋友访问,不能被派生类访问;
2 .派生类可以访问受保护的成员。
classstruct和Classstruct之间唯一的区别是默认访问权限不同。类默认值为私有/结构默认值为公共;
朋友
对于私有数据成员,虽然有些函数是类的接口函数,但它们不是类的成员,因此不能访问私有数据。
这时,可以将好友功能设置为好友。
其实简单来说,成员函数是类中声明(定义)的函数,而非成员函数是普通函数,也就是类中没有定义的函数,其中非成员函数一般是友元函数。
成员函数是类定义的一部分,由特定的对象调用。成员可以隐式访问调用对象的成员,而无需使用成员运算符。
友元函数不是类的一部分,所以被称为直接函数调用。友元函数不能隐式访问类成员,但必须对作为参数传递的对象使用成员运算符。
友元函数在类中声明。
类别销售数据
{
朋友销售_数据添加(const sales_data,const sales _ data);
firend STD : is tream read(STD : is tream,sales _ data);
友元声明只能出现在类定义内部,但其在类中的具体位置不受限制。Friend不是该类的成员,因此不受其访问级别的限制。
friend的声明只指定了访问权限,而不是一般的函数声明。如果要调用友元函数,除了友元声明外,还必须对函数进行特殊声明。
typedef STD :3360 string 3360: size _ type pos;
使用pos=STD :3360 string :3360 size _ type;
};
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/130350.html