第004课 C++ 类与对象(二)

一、类的嵌套:

     在定义一个类时, 在其类体中又包含了一个类的完整定义,称为类的嵌套类是允许嵌套定义的 。

例1: 

#include <iostream>
using namespace std;

class CA  //类是允许嵌套定义的
{
    class CB //类CB包含在类CA当中,为嵌套定义
    {
        int i, j;
     public:
        void set_ij_func(int m,int n)
        {
            i = m;
            j = n;
        }
     };
    float x, y;
public:
    CB cb1, cb2; //嵌套类的对象
    void set_xy_func(float a, float b)
    {
        x = a;
        y = b;
    }
    void printfunc()
    {
        cout << " x=" << x << endl;
        cout << " y=" << y << endl;
    }
}; 

例2: 

#include <iostream>
using namespace std;

class CC1 
{
public:
    int x;
    void func(); //类体内函数声明

    class CC2 //类CC2定义在类CC1体内
    {
    public:
        int y;
        void func();//类体内函数声明
    }obc; //定义类的对象
}; 

void CC1::func()//在类体外 函数定义的,函数名前要+类名+::域包含符
{
    x = 3000;
    cout << " x= " << x << endl;
}
void CC1::CC2::func()//函数定义 在类体外 
{
    y = 40000;
    cout << " y= " << y << endl;
} 

int main()
{
     CC1 obj;
     obj.func(); //此处是调用CC1::func()函数
     obj.obc.func(); //此处是调用 CC1::CC2::func()函数
     return 0;
}

 输出结果:

二、类的对象引用私有数据成员

1)通过公有成员函数为私有数据成员赋值

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值