C++ prime/笔试 总结二

C++ prime/笔试 总结二
11.当使用free释放掉一个指针内容后,指针变量的值被置为NULL

12.|| 优先级大于 && ;
   c没有bool类型; c++才有

13.题目:
   char *p = “abc”;
char *q = “1234”;
*p = *q; //是错的,两个指针都指向了字符串常量,不能重新赋值

14.静态局部变量static 只初始化一次,以后再调用不再初始化
   PS:类中设置的静态函数只能访问静态(成员)变量

15.(1)友元类是单向的,不对称,不传递; 所以类A的友元类的派生类不一定是类A的友元;
      (2)友元类的成员函数可以访问此类的所有成员,包括private成员;
   (3)友元函数 不是该类的成员,而它本身也并普通意义上的声明(不算声明); 也不受该类所在区域访问控制符的约束;且友元的作用是影响访问权限;

16.以下五个运算符不能重载:
  成员运算符: .
  指针运算符: *
作用域运算符: ::
sizeof //注: sizeof()不是函数,是关键字或运算符
三元条件运算符: ?:

17.(1)特征多态包括: 重载多态 和 强制多态
      (2)通用多态包括: 参数多态 和 包含多态

18.以下语句可能产生未定义的行为:
     (1) int i = 0;    
      cout<<i<<" "<<i++<<endl; //由编译器决定先求i 还是先求i++
      (2) f()+g()+j(); //c++没有规定函数的掉用顺序,所以由你的编译器决定,或者说由那个编写了编译器的人决定
      (3) 数组的默认初始化 是未定义的
      (4) 在函数体内 的内置类型变量不初始化或赋值也是未定义的
      //内置类型:int,long long int,double等基本类型

19.(1) . 运算符 用于获取类对象的一个 成员
      (2) ->运算符 用于类对象的 指针类型; (试试就知道)

20.函数只能定义一次,但可以声明多次.

21.(1)虚函数不是没有实现的函数,而且必须为没一个虚函数提供定义; (特别要和Java区分开来)
      c++中的多态就是由虚函数实现的.
(2)C++中的普通函数的解析过程发生在编译时,而需函数的解析发生在运行时;(运行时多态)
      (2)C++中的虚函数用virtual修饰;每个虚函数都会有一个虚函数表;该虚函数首先会从父类中继承得到父类的虚函数表,如果子类中重写了父类的虚函数,那么,实际要调用哪个虚函数是根据当前 实际的对象 来判断(不管指针”所属类型”是父类还是当前类);指针当前”指向的是哪种类型”的对象,就调用哪个类型定义的虚函数.

C++中虚函数与Java 中的抽象函数,大致有如下对应关系:

   C++ Java
  虚函数 ———- 普通函数
  纯虚函数 ——– 抽象函数
  抽象类 ———- 抽象类
  虚基类 ———- 接口

22.预处理器:是在编译之前执行的一段程序
   最常见的就是 #include,#define
     //注:#define a 10 就是用 10替换a的意思,而实际情况特别是笔试题 不加括号的表达式,其运算顺序特别要注意,多做题就知道了
    
  还有 #ifdef  :当且仅当变量已定义时执行...(至#endif)
#ifndef :当且仅当变量未定义时执行...(至#endif)
          #endif :预编译到此为止
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值