## c++类(1.抽象与封装)

c++类(1.抽象与封装)

类是一种抽象数据类型,声明形式如下:
class ClassName
{
数据成员
函数成员
}

类成员访问控制:
class ClassName
{
public:
公有成员
proteced:
保护成员
}

在关键字pubkic后面声明,它们时类与外部的接口,任何类内,类外函数都可以访问公用数据和函数。
在关键字private后面声明,只允许类中的函数访问,而类外的函数都不能访问。(修饰访问属性关键字可以多次出现)
在这里插入图片描述

访问类成员的放法:
1.通过对象来访问成员
对象名.共有成员函数名
对象名。公有数据成员
2.通过对象指针来访问成员
对象的指针->共有成员函数名
对象的指针->共有数据成员
定义函数可以在class内部定义也可以在外部定义
例子
int intarray::getSize()
{
return size;

}
例子:

#include <iostream>
 
using namespace std;
class intarray
{
    int* data;
    int size;
    int getval(int condition);
public:
    void setarray(int len, int* in);
    int getSize();
    int setVal(int pos, int val);
    int getMaxVal();
    int getMinVal();
};
 
int intarray::getMaxVal()
{
    int temp = getval(0);
    return temp;
}
int intarray::getMinVal()
{
    int temp = getval(1);
    return temp;
}
void intarray::setarray(int len, int* in)
{
    size = len;
    data = new int[len];
    for (int i = 0; i < len; i++)
        data[i] = in[i];
}
int intarray::getSize()
{
    return size;
 
}
int intarray::setVal(int pos, int val)
{
    if ((pos < 0) || (pos > size))
        return -1;
    data[pos] = val;
    return 0;
}
int intarray::getval(int condition)
{
    int temp = data[0];
    for (int i = 0; i < size; i++)
    {
        if (condition == 0)
        {
            if (data[i] > temp)
                temp = data[i];
        }
        else
        {
            if (data[i] < temp)
                temp = data[i];
        }
    }
    return temp;
}
 
int main()
{
    intarray array;
    int i, size, v, max, min;
    int in[] = { 1,2,3,4,5 };
    array.setarray(5, in);
    size = array.getSize();
    cout << "please input" << size << "numbles:" << endl;
    for (i = 0; i < size; i++)
    {
        cin >> v;
        array.setVal(i, v);
    }
    max = array.getMaxVal();
    min = array.getMinVal();
    cout << "max value is:" << max << endl;
    cout << "min value is:" << min << endl;
 
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值