C++:继承

  当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类

  一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数

  在平日里使用时,我们一般不使用 protected 或 private 继承,通常用 public 继承。当使用不同类型的继承时,遵循以下几个规则:

公有继承(public):    当一个类派生自公有基类时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。
保护继承(protected): 当一个类派生自保护基类时,基类的公有和保护成员将成为派生类的保护成员。
私有继承(private):   当一个类派生自私有基类时,基类的公有和保护成员将成为派生类的私有成员。

  注:派生类不能继承基类的构造函数、析构函数、拷贝构造函数、友元函数、重载运算符


参考代码:

#include <iostream>

using namespace std;

class information     // 基类
{
	public:
		void setInformation(char *n, int a)
		{
			name = n;
			age = a;
			
			cout << "基类1" << endl;
		}
	
	protected:
		char *name;
		int age;
};

class message        // 基类
{
	public:
		void setMessage(char *addr)
		{
			address = addr;

			cout << "基类2" << endl;
		}
	
	protected:
		char *address;
};

class people: public information, public message   // 派生类,多继承
{
	public:
		void show(void)
		{
			cout << "Name: " << name << endl;
			cout << "Age : " << age << endl;
			cout << "Addr: " << address << endl;
		}
};

int main(void)
{
	people p;
	p.setInformation("未名湖畔的落叶", 20);
	p.setMessage("广东深圳");
	p.show();
	
	return 0;
}
[john@bogon C++]$ ./a.out 
基类1
基类2
Name: 未名湖畔的落叶
Age : 20
Addr: 广东深圳
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值