1.关于继承:派生类虽然可以访问基类的公有和保护成员,但是不建议在构造函数里直接初始化这些值,而是调用基类的构造函数来初始化。
2. C++11新标准,在类的后面加一个final关键字,即可防止类被继承。在函数后面加一个final关键字,可以防止函数被覆写。
3.C++11新标准,在派生类中,如果是想覆写一个基类的函数,最好在函数后面写一个override关键字,这样如果出现错误,编译器会报错,防止由于参数不对,导致新建一个函数,而不是覆写了原来的函数。
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Base
{
public:
virtual void Print()
{
cout<<"Base Function"<<endl;
}
};
class Child : public Base
{
public:
virtual void Print()override
{
cout<<"Child Function"<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Child c;
c.Print();
return 0;
}
有了这个新特性,妈妈再也不用担心我覆盖错函数了。