刚刚又被问的哑口无言,首先争论了一个话题..忘了 ,反正我是错了,之后就乱了阵脚,这会儿冷静下来总结一下

1.首先什么是纯虚函数:

/*
    ===纯虚函数===
    一个类是不是抽象类就看你里面到底有没有纯虚函数 virtual void eat() = 0
    定义:虚函数 = 0
    /---
        纯虚类就相当于接口,不能被别人实现,
        只能被继承,在使用里面的东东
        ------类似OC协议-------
    ---/
*/

2.同一个类的不同对象对象共用同一个虚表,虚表地址一样

同一个类不同对象共用相同的函数体

3.然后怎么初始化const变量,因为const变量不能直接初始化

招数:就是用初始化列表解决

4.静态变量和静态函数如何初始化:

招数:首先定义的时候在普通变量或函数前面加上static变成静态的,

之后初始化的时候,直接在类的外面初始化(和成员函数一样---前面不再需要添加static)

调用的招数:

用类名::静态变量(函数) 直接去掉用

或者用类对象名->静态变量(函数)去掉用(像普通的一样)    不推荐

5.成员函数

/*const的成员函数
    如果成员函数是const 那么在他里面不能修改类的属性和变量的值
    
    它里面调用的变量都会成为readonly
    
    //=====除非在类的成员变量前加上mutable,那就可以修改了
*/

6.静态函数 和 this

静态函数里面不能调用成员类的实例变量,不能使用this!

posted on 2013-10-05 22:43  阿里海瑟要  阅读(139)  评论(0编辑  收藏  举报