c++ 宏、不可重载运算符、抽象类

1.
  • 宏只是预定义的函数,在编译阶段不进行类型安全性检查,在编译的时候将对应函数用宏命令替换。对程序性能无影响
  • 不能绝对的说宏会带来性能损失他是不确定的,要根据你使用的情况
  • 比如,调用函数式宏不需要入栈出栈,所以一般情况下,性能会提高点,但是如果使用不当,就会降低性能
  • 宏可以做到函数无法做到的功能
2. C++中不能重载的运算符: “ ?: ”、 “ . ”、“ :: ” 、“sizeof ”和“.*”.
3.
  • 抽象类 : 成员函数含纯虚函数的类称之为抽象类,目的则是实现多态
  • 抽象类具有以下特性:
    • 抽象类不能实例化 ,即无法声明对象,因此在实现的过程中,通常将抽象类的构造函数设置为 protected, 以避免上述声明抽象类对象等不合理操作 
    • 抽象类可以包含抽象方法和抽象访问器。
    • 不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。
    • 从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现

你可能感兴趣的:(C++/C)