1.面向对象的C++
1. '::'的使用
作用:指示作用域; 用作区分不同地方的相同变量名,用于实现类中的未实现方法。
code:
#include<iostream>
using namespace std;
int a;
void test(){
cout<<"test"<<endl;
};
class Clock{
public:
void setTime(int newH, int newM, int newS){
hour = newH; minute = newM; second = newS;
test();
}
void showTime(){
cout<<hour<<':'<<minute<<':'<<second<<endl;
}
void test();
private:
int hour, minute, second;
};
void Clock::test(){ //::实现在类外对类成员方法初始化
cout<<"Clock_test"<<endl;
}
int main(){
::a = 1; //::表示全局变量中的a
::test(); //::表示全局中的函数
int a = 2;
std::cout<<::a<<' '<<a<<std::endl; //表示std下的cout函数
::Clock C; //表示全局的类
C.setTime(2,3,4);
C.showTime();
return 0;
}
结果:
test
1 2
Clock_test
2:3:4
可以看出,初始化的全局变量或函数,用::可以表示;clock类中未初始化的test,也通过在类外定义的方式(::)实现初始化;并且endl和cout在std这个namescope下,如果不写using namespace std;这一句,要用cout则需要以std::cout使用cout函数。
最后,当想在类外通过::重写已经初始化的函数时,报错。
2.构造函数
默认构造函数的方式</