类:
就是一个用户定义的新类型 。 class X{…};
public:类成员和类外部都可以被访问;类的公共部分构成了类的界面,可以与具体的实现分离.
private:仅类成员能够访问,类外部不可以被访问;友元也可以访问;
protected:类成员能够访问,类外部不可以被访问;友元和子类可以访问;
静态成员在静态区,函数在代码区,其余的在栈区。
析构函数调用时机:
class Date
{
public:
~Date();
};
1.遇到 } 时——栈区 2.文件尾——静态区 3.delete——堆区 4.发生异常时的退栈
构造函数:
如果一个类重写了其他形式的构造函数,一定要为该类提供无参构造函数。创造对象数组的时候需要无参函数!
拷贝构造函数
拷贝构造函数,用于复制对象时使用。
如果不写,C++编译器会为用户定义类型补上一个.
class Date
{
public:
Date( const Date& rhs);
} ;必须传引用,否则是死循环
void f( Date d);
Date d1;
Date d2 = d1; // call Date::Date( Date& rhs)构造d2
f( d1); // call Date::Date( Date& rhs)构造参数d
Date g();
{
return d;
}