类的声明
C++引入类的概念来实现面向对象程序设计,先来看一个简单的类的声明:
class CPerson{
public:
// 构造函数
CPerson(){
cout<<"constructor"<<endl;
}
// 构造函数(重载)
CPerson(int age){
cout<<"constructor "<<age<<endl;
}
// 声明可以与实现分离
void Hello();
};
CPerson::Hello(){
cout<<"hello"<<endl;
};
- 构造函数定义为私有,可以防止该类被直接实例化。一般用于Singleton实现。
- 不允许签名为
CPerson(CPerson p){}
的构造函数(编译错)。
构造函数可以有参数,不允许有返回值。
对象实例化
可以直接定义对象变量,在栈中分配并初始化对象;也可以定义对象指针,从堆中分配空间并初始化对象。