C++从入门到放弃(4)

private :只能被本类的或友元类中的成员函数所引用,类外不可调用

友元类

friend class 类名;

class A{
     public:
         friend class B;
};
说明B是A的友元类

    使用友元类时注意:
         (1) 友元关系不能被继承
         (2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类A不一定是类B的友元,要看在类中是否有相应的声明
         (3) 友元关系不具有传递性。若类B是类A的友元,类C是B的友元,类C不一定是类A的友元,同样要看类中是否有相应的申明

定义对象也可以:不出现类名,直接定义对象(少用) 

class
{
    ······
}stu1,stu2;

 在类外定义成员函数

必须在函数名前加上类名予以限定,使用‘ ::’作用域运算符,声明函数是哪个类的

如果‘ ::’之前没有类名或是函数名之前无‘ ::’与类名,则该函数属于全局函数(一般函数)

必须先在类中做函数原型声明,如下:

class Student{
    public:
        void display();//函数原型声明
    private:
        int num;
        char name[20];
        char sex;
};

void  Student::display() //于类外定义函数
{
   cout<<"num:"<<num<<endl;
   cout<<"name:"<<name<<endl;
   cout<<"sex:"<<sex;
}
Student stu1,stu2;

对象成员的引用 

 通过对象名和成员运算符访问对象中的成员,如:

stu1.num=100;

‘.’为成员运算符,即:   对象名.成员名

通过指向对象的指针访问对象的成员

#include<iostream>

class Time {
public:
    int hour;
    int min;
    int s;
};

int main()
{
    Time t,* p;//定义对象t和指针p
    p = &t;
    cout << p->hour;
}

通过对象的引用变量来访问对象中的成员 

Time t1;
Time &t2=t1;  //t2与t1等价
cout<<t2->hour;

且t2与t1占同一段内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值