【书上写错了吗?】

《C++Primer中文版第5版》第15章P532继承与静态成员

发现问题

如果基类定义了一个静态成员(static),则在整个继承体系中只存在该成员的唯一定义。不论从基类派生出多少个派生类,对于每个静态成员来说都只存在唯一的实例。

代码如下:

class Base{
public: 
	static void statemem();
};

class Derived : public Base{
private:	
	void f(const Derived&);
};

void Derived::f(const Derived& derived_obj){
	Base::statemem();		// 正确:Base定义类statemem
	Derived::statemem();	// 正确:Derived继承了statemem
	derived_obj.statemem();	// 通过Derived对象访问
	statemem();				// 通过this对象访问
}

书中写到:
假设某静态成员是可访问的,则我们可以通过基类使用它也能通过派生类使用它。

编写的源文件如下:
编写的源码

这段代码没有错误吗?我在Ubuntu环境下运行时,报错如下:
运行结果

这是为什么呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值