类
内联函数:
构造/析构函数:
初始化器(初始化 const 成员唯一机会)
嵌套层次(构造外到里,析构里到外)
复制构造函数:deep copy
存在构造函数,不会再默认生成(必须自己补充默认构造函数!)
访问控制:
private:类与友元
protected:类,子类与友元
public:所有
无标号:默认 private
*this 指针:return *this 连锁调用;参见等号重载 a=b=c;等价于 a.operator=(b).operator=(c)
友元函数:给予友谊,所有成员均可访问,任意标号下即可声明
Static 成员:类层次而非对象层次,所有属于一个类的对象共享该成员,常用作生成对象计
数器;static 成员函数无 this 指针,不能使用非 static 成员;外部初始化!
例:
class Newclass{
friend friendship();//友元函数
Private:
Int a;
Static count;//static 成员作计数器
Public:
Void blank();//空函数
inline const string& shorterString(const string &s1, const string &s2)
{return s1.size() < s2.size() ? s1:s2;}
//内联函数 Const 函数:声明与定义都必须带 const 关键字
Newclass():a(0){count++;}
//构造函数:初始化器(initializer),把 a 初始化为 0;计数器,每生成一个对象加 1!
~ Newclass(){cout << “over” << endl;}//析构函数
}
int Newclass::count=0;//static 成员的初始化!
Void Newclass::blank(){}//普通成员函数实现实例
Int main()
{
Newclass temp;//注意 Newclass temp();是错误的!这是函数声明并且返回该对象!
Newclass *ptr=&temp;
Ptr->blank();//指针调用(动态绑定必须用这个!)
Temp.blank();//函数名调用
}
重载函数
PS:
Main 不重载