c++随手记

2020-03-11  本文已影响0人  直木的散装笔记

作用域符号``::"的三种主要情况

示例

int var_test=2; //全局变量

class A{
  public:
    int sum(int a, int b);
}

//实现A类的sum函数时必须用类作用域符号来做限制
int A::sum(int a, int b){
  return a+b;
}

int main(){
  int var_test=3; // 局部变量
  ::var_test = ::var_test+ var_test;
  var_test = ::var_test+var_test;
  cout<<"This is global var:"<<::var_test;
  cout<<"This is local var:"<<var_test;
  return 0;
}

最终结果如下


image.png

inline和virtual本质区别

inline函数是在C++程序被编译时就设定好了,而virtual函数是在运行期才能够确定如何去调用的,也是虚函数给C++带来了多态性。

Virtual函数注意事项:
\color{orange}{1:只有类的成员函数才能定义虚函数}
\color{orange}{2:静态(static)成员函数不能定义为虚函数}
\color{orange}{3:内联(inline)函数不能为虚函数}
\color{orange}{4:构造函数不能是虚函数}
\color{orange}{5:析构函数可以是虚函数,且通常声明为虚函数(便于继承类多态性)}

上一篇 下一篇

猜你喜欢

热点阅读