C++之继承

#include <iostream>

using namespace std ; 

class  Animal
{
	private:
		int age ;

	protected:
		int id ; 

	public:
		int Height ;
		void Say_hi(void)
		{
			cout << "this is hello" <<endl ;
		}
};

//无论哪种继承,父类私有成员在子类不可访问
//公有继承,父类的公有跟受保护权限到了子类权限不变
//受保护继承,父类的公有成员变成子类的受保护成员,受保护成员权限不变
//私有继承,父类的公有成员及父类的受保护成员变成子类的私有成员

class People : public  Animal
{
	private:
		int aa ; 	

	protected:
	int cc ; 

	public :
	int a ; 

	void Say_hi(void)
	{
		cout << "hi " << endl ;
	}

	void Say_cc(void)
	{
		cout << "cc : " << cc << endl ;
		cout << "id : " << id << endl ;
		//cout << "age : " << age << endl ;
		cout << "aa : " << aa << endl ;
	}
};

int main(void)
{

	People  pp ;
//	pp.Height = 100 ;
//	pp.Say_cc();
//	pp.cc = 200 ;    //受保护的变量不允许直接访问
//	pp.id = 200 ;
//	pp.Say_hi();

	pp.Say_hi();
	//两者皆可
	pp.Animal::Say_hi();
	pp.People::Say_hi();

	return 0 ;
}

运行结果:

时间: 2024-09-30 23:37:52

C++之继承的相关文章

android java 继承父类里的子类问题!!!!!!!

问题描述 android java 继承父类里的子类问题!!!!!!! 请问各位,java可以继承父类的方法和全部属性,那父类里的子类可以继承使用么? android 可以继承父类的Handler.广播么??

pb9继承方法-pb9如何在数据窗口继承方法

问题描述 pb9如何在数据窗口继承方法 如何解决,望大神赐教!!! 解决方案 [PB]从数据窗口获得数据的方法总结pb从数据窗口获得数据的方法总结pb从数据窗口获得数据的方法总结

maven pom聚合与继承

说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现. 一.为什么要聚合? 随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构.分模块开发,来提高代码的清晰和重用.针对于这一特性,maven也给予了相应的配置. 情景分析一: 我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可

子类继承HibernateDaoSupport后如何注入SessionFactory

子类继承HibernateDaoSupport后,由于HibernateDaoSupport,setSessionFactory是使用final修飾的,無法重寫,沒有辦法使用註解的方式注入sessionFactroy public final void setSessionFactory(SessionFactory sessionFactory) {         if (this.hibernateTemplate == null || sessionFactory != this.hib

JAVA 【引用类型】和【对象类型】在【继承】中的异同

介绍     JAVA [引用类型]和[对象类型]在[继承]中的异同,这个问题自己整理过N次,也被人当菜鸟问过N次.所以,在此简单整理一下,以供大家分享. 在继承关系中,一般成员变量是根据引用类型 在继承关系中,静态成员变量是根据引用类型 在继承关系中,一般方法是根据对象类型 在继承关系中,静态方法是根据引用类型 注意     静态成员变量,静态方法是基于类的,本文为了测试观察,所以,会用对象去引用静态成员变量和静态方法.      Super Class: package shuai.stud

如何用语句去实现多层继承

问题描述 如何用语句去实现多层继承 Person类,有Student类和Employee类继承Person, 而Employee类又被教员类Teacher类和职员类Staff类继承. 每个人都有姓名.地址.电话号码和电子邮件地址. 学生有年级状态(大一到大四). 雇员有办公室(office).工资(salary)和受聘日期(dateOfEmployee). 教员有办公时间(wordTime)和级别(level). 职员有职位(job). 覆盖每个类的toString()方法,显示相应的类名和人名

c++-类继承方面的问题,求教

问题描述 类继承方面的问题,求教 class A{ public : A* a; A(){a = this;}};class B : public A{public: B(){};}; void main(){ B* b = new B;; cout<< b << "" "" << b->a <<endl; getchar();} 为什么两次输出的结果是一样的,都是指向,A类对象在创建的时候,b还不存在,this

java继承

* 继承(extends) * java是一种树形结构(联结类的层次模型),单继承(父类),多实现(接口+内部类) * 子类和父类之间是is-a关系 * 在子类中使用super关键字,访问父类的成员,super必须出现在子类.本类中方法中this调用本类的成员(属性和方法,区别于局部变量),在构造方法中调用(替代)其他构造方法 * 继承规则:①不能继承private成员 *                 ②子类和父类不在同包时,不能继承default默认修饰符成员 *            

C#继承

继承(C# 编程指南) 类可以从其他类中继承.这是通过以下方式实现的:在声明类时,在类名称后放置一个冒 号,然后在冒号后指定要从中继承的类(即基类).例如: public class A { public A() { } } public class B : A { public B() { } } 新类(即派生类)将获取基类的所有非私有数据和行为以及新类为自己定义的所有其他数 据或行为.因此,新类具有两个有效类型:新类的类型和它继承的类的类型. 在上面的示例中,类 B 既是有效的 B,又是有效

java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why?

问题描述 java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why? //=========================== 情形一: ===============================//在网络上传递User1类对象时info属性值在网络的另一端能够接收到! public class User1 implements Serializable { public String info = null; public String userName =