单项选择题

有如下程序:
#include<iostream>
using namespace std;
class Base
{
private:
void fun1() const{cout<<"fun1";}
protected:
void fun2() const{cout<<"fun2";}
public:
void fun3() const{cout<<"fun3";}
};
class Derived:protected Base
{
public:
void fun4() const{cout<<"fun4";}
};
int main()
{
Derived obj;
obj.fun1(); //①
obj.fun2(); //②
obj.fun3(); //③
obj.fun4(); //④
return 0;
}
其中有语法错误的语句是______。

A.①②③④
B.①②③
C.②③④
D.①④