• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
周芳芳0824
博客园    首页    新随笔    联系   管理    订阅  订阅

C++语法 第四篇 自定义类型

我需要一个类型,它既有一个存放int的地方,也有一个存放bool的地方。

这时候需要用到结构体语法。

struct IB//类型名
{
    int n; //内容
    bool b;
};

这种类型叫做结构,用struct关键字创建

语法:

struct 结构名
{
     基础数据类型 变量名;  
}

 

声明:

IB ib;

赋值:

ib={10,true};

调用:

int na;
bool nb;
IB ib = {1,true};
na = ib.a;
nb = ib.b;

 

 

我们再次提出新要求,我需要一个有内置方法(处理器),有若干属性(储存器)的类型。可以吗?

事实上,+-*/对于基础数值类型来说,就是他们的处理器。

 

对于自定义类型来说,这种类型,叫做类,也叫对象。

创建类用class关键字。

class A                       //声明部分
{
        int a;
        int add(int n, int m);  
}
int A::add(int n,int m)       //完成所声明的方法体
{
        return n+m;
}

一般情况下,我们需要对class的属性进行初始化,在不许要A的情况下,也要把A相关的资源从内存释放。

所以一个class有以下格式

class A                       //声明部分
{
        A();                   //初始化函数
        ~A();                //销毁函数
        int a;
        int add(int n, int m);  
}
int A::add(int n,int m)       //完成所声明的方法体
{
        return n+m;
}
A::A()
{
    a=10;//初始化属性
}
A::~A()
{
    //这里没有需要释放的内容
}

 

声明:

A MA;

调用:

int n;
int a,b,c;
a=10;
b=20;

n = MA.a;                        //调用属性
c = MA.add(a,b);             //调用方法
posted @ 2016-02-03 05:16  周芳芳0824  阅读(332)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3