- 带默认参数的构造函数,默认参数必须置于参数列表结尾
例子:(int a,int b=0)正确(int a=0,int b)错误 - 拷贝构造函数:~用它所在类的对象引用作为参数
CExample(const CExample & c)
{
a=c.a;
printf("copy constructor is called\n");
}
- 静态数据成员赋初值
class BB
{
private:
static int c; //静态成员变量
};
//静态函数中 不能使用 普通成员变量 普通成员函数 ..
int BB::c = 10;
- 调用基类方法(::)
class Base {
public:
(virtual) void Show() const { cout << m << endl; } };
}
Base::Show()
- 虚函数的继承
#include <iostream>
#include <cmath>
using namespace std;
class A{
public:
void Show() const{
cout<<"1"<<endl;
}
};
class B:public A{
public:
void Show() const{cout<<"2"<<endl;}
};
int main(){
A *p=new B;
p->Show();
delete p;
return 0;
}
结果输出的是1,然后我们在基类A的Show()方法前加上virtual
class A{
public:
virtual void Show() const{
cout<<"1"<<endl;
}
};
结果输出为2
virtual使Show()成为虚函数,实现指向派生类的基类指针访问派生类成员函数。不清楚看这里