作用域符号``::"的三种主要情况
- 全局作用域符号
用法 ::name,name可指代全局变量或者全局函数 - 类作用域符号
用法 XX_Class::name - 命名空间作用域符
用法 XX_namespace::name
示例
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函数注意事项:
网友评论