C++自学笔记(一)

 
1.类组合的构造函数
类名::类名(对象成员所需的形参,本类成员形参):对象1(参数),对象2(参数)
{
本类成员初始化
}
 
2.
int a=10;
int b(a);//即b=a=10
 
myclass circle();//将调用构造函数初始化
myclass newcircle(circle);//将调用 拷贝构造函数,
//若没得,则调用缺省的拷贝构造函数
 
3.内联函数(比较简单,可直接在类里面定义)
类的外部定义函数(比较复杂)
构造函数,拷贝函数在定义时不允许有返回值(void也不允许)
 
4.数据共享
将数据和使用该数据的函数封装在类中,以实现此功能.
(实现类内函数数据共享,同时保护数据)
 
5.类属性:静态数据成员
class employee
{
 private :
     int ID;
     char *name;
static int total;//职工总数,必须在类外面定义和初始化
public:
...
};
int employee::total=0;//!!!在类外面定义和初始化(此时就给total分配了内存空间,
//而employee类还没分配(类似于结构体定义,在定义具体结构体后才分配空间))
 
employee Lee,Chen,Chou;
//则职工总数total=3,给一个职工类的total只占用一个存储空间

6.友元

class Radius

{

 private :

     int R;

public:

void GetR()

{return R;}

friend long Cube(Radius &r);//声明cube()函数为友元

};

long Cube(Radius &r)

{

 Return r.R*r.R*r.R;//如果没有声明cube()函数为友元的话,则要 r. GetR()*r. GetR()*r. GetR().

}

注意:可以作为友元的可以为函数,另一个类,具体成员.

还可以为另一个类的成员函数,:

class student;//前项声明

class teacher

{

protected:

 

public:

void givescore(student &stu,int s)

{

stu.score=s;

}

};

class student

{

protected:

int score;

int IDNum;

public:

friend void teacher:: givescore(student &stu,int s);

};

注意:

友元不能传递,而且为单项的!!!

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值