wuti 2

  在程序中要屏蔽大段代码的时候使用
#if 0
  statements
#endif
可以有效的将代码从程序中屏蔽,而使用/* */注释时可能会因为代码内部含有注释而失败。

typedef char * ptrtochar
ptrtochar a, b; 
a, b都是字符指针
#define ptrtochar char *
ptrtochar a, b;
a是字符指针,b是字符

#undef name
这条指令用于移除一个宏定义,如果一个现存的名字需要重新定义,那么它的旧定义首先必须用#undef移除。

条件编译
#if condition
  statements
#endif

是否定义
#if defined(symbol)
#ifdef symbol

#if !defined(symbol)
#ifndef symbol

int fuc()[];这个函数是非法的,函数只能返回标量值,不能返回数组。
int f[]();也是非法的,数组元素必须具有相同的长度,而不同的函数显然可能具有不同的长度。
int (*f[])();是合法的,首先f是一个数组,它的元素是某种类型的指针,数组元素的类型是个函数指针。它所指向的函数的返回值是整形。
int *(*f[])();和上一个类似,只不过数组元素指向的函数的返回值是整形指针。

类定义与使用说明

    (1) 函数成员与数据成员一样在函数中定义;外部函数调用类成员
        与结构调用一样,但只能调用公共成员.
    (2) 类成员函数能够直接访问类中所有定义的成员.
    (3) 每个类均有一个所属类的指针this.
    (4) 函数可以在类中定义,也可在函数外定义.
        在外部定义格式如下: 类型 类::函数(参数)
        但在类中要进行函数原形说明;
    (5) 成员函数也可以定义为内联函数;
    (6) 成员函数也可以说明为可选参数函数;
    (7) 类的大小应为每个成员的字节数和;
    (8) 成员函数也允许操作符重载;

构造函数

    (1) 构造函数与析构函数属于类中的成员函数.
    (2) 构造函数与所在的类具有相同的名字,并且不带返回类型,
        也不需要返回任何值.
    (3) 构造函数的作用是为类对象中有数据成员赋初值.
    (4) 构造函数在定义类对象时自动调用,完成赋值任务.
    (5) 一般构造函数均定义为公用成员.
    (6) 如果类中没有定义构造函数,则系统默认为:
            类名() { }    如: aaa() {}
    (7) 给类对象赋初值时
         ①采用赋值语句把表达式的值赋给成员变量;
            若只带一个参数,可以使用赋值号代替.
             例: aaa x(5) 或 aaa x=5
         ②初始化表的办法;
            格式: 函数名: 数据成员名(初始化表达式)
             例: aaa():a(NULL),n(0){}
    (8) 动态分配一个类对象,有无参数参照如下格式:
           aaa *s1= new aaa;
           aaa *s2= new aaa(a,6);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值