// Console03.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Animal
{
public:
void eat()
{
cout<<"animal eat"<<endl;
}
void sleep()
{
cout<<"animal sleep"<<endl;
}
void breathe()
{
cout<<"animal breathe"<<endl;
}
};
class Fish:public Animal
{
};
void main()
{
Animal an;
an.eat();
Fish fh;
fh.sleep();
int i;
cin>>i;
}
和C#一样它是用冒号来继承
Fish从Animal派生而来
所以fh也可以调用sleep方法
运行结果为:
animal eat
animal sleep
----------------------------------------------------------------------------------
// Console03.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Animal
{
public:
void eat()
{
cout<<"animal eat"<<endl;
}
protected:
void sleep()
{
cout<<"animal sleep"<<endl;
}
void breathe()
{
cout<<"animal breathe"<<endl;
}
};
class Fish:public Animal
{
public:
void test()
{
this->sleep(); //在子类里可以调用父类的protected方法
}
};
void main()
{
Animal an;
an.eat();
Fish fh;
// fh.sleep(); 这里的调用不成功,编译错误
fh.test();
int i;
cin>>i;
}
现在把sleep和breathe方法设置为protected的了
这样在子类里能访问它们 但是在main函数里就没有权限调用了
--------------------------------------------------------------------------------
// Console03.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Animal
{
public:
void eat()
{
cout<<"animal eat"<<endl;
}
protected:
void sleep()
{
cout<<"animal sleep"<<endl;
}
private:
void breathe()
{
cout<<"animal breathe"<<endl;
}
};
class Fish:public Animal
{
public:
void test()
{
this->sleep();
this->breathe();
}
};
void main()
{
Animal an;
an.eat();
Fish fh;
// fh.sleep();
fh.test();
int i;
cin>>i;
}
现在把breathe设置为private的了
所以在子类中也访问不了breathe
发生编译错误
分享到:
相关推荐
### C++继承与多态性实验报告知识点解析 #### 实验背景及目的 本实验旨在通过实际操作加深学生对C++面向对象编程的理解,特别是针对继承与多态性的概念进行深入学习。实验要求学生能够利用C++语言特性,设计并实现...
C++继承是面向对象编程(OOP)中的一个核心概念,它允许一个类(子类或派生类)从另一个类(基类或父类)继承特性,从而实现代码的重用和扩展。在Qt框架中,C++的继承机制同样被广泛应用,以构建丰富的用户界面和...
### C++继承与派生机制详解 #### 一、引言 C++ 是一种支持面向对象编程的语言,其中继承机制是其重要的特性之一。通过继承,可以创建一个新类(称为派生类或子类),它继承了现有类(称为基类或父类)的所有属性和...
《C++继承与派生课件》 C++作为一门强大的面向对象编程语言,其核心概念之一就是继承与派生。这两个概念是实现代码复用和构建复杂对象模型的关键技术。继承允许创建一个新的类(派生类),它不仅包含原有类(基类)...
C++继承是面向对象编程(OOP)中的一个核心概念,它允许我们创建新的类,这些新类可以扩展已存在的类的功能。在这个“c++继承分类”主题中,我们将深入探讨C++中的继承机制,以及如何在Qt环境中利用这一特性进行开发...
08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08...
c++继承中的三种访问权限 pdf,一个简单总结,方便查阅。
c++继承与派生习题答案 c++继承是面向对象编程(OOP)的一个基本概念,它允许一个类继承另一个类的成员变量和成员函数,从而实现代码的重用和继承。以下是c++继承与派生习题的答案: 1.概念填空题 1.1 三种派生...
C++继承与派生 本节课程主要介绍C++中继承与派生的概念和使用方法,包括公有继承、私有继承和保护继承等不同的继承方式。通过实验和实践,掌握继承与派生的基本概念和使用方法。 继承的概念 继承是面向对象编程中...
C++继承与派生类是面向对象编程的重要概念,它们允许我们创建新的类,这些类可以从现有的类(称为基类或父类)继承属性和行为。在这个实验中,我们将深入理解这两个概念,并通过实际编程练习来巩固它们。 一、继承...
c++继承描述
C++继承是面向对象编程中的一个核心概念,它允许我们创建新的类,这些新类可以从已存在的类(称为基类或父类)中继承特性。继承的主要目的是代码重用和扩展,使得软件设计更加模块化,易于维护和升级。在这个"**C++...
入门基础实例 有关继承和派生的应用小程序 希望对大家有帮助
C++的继承与派生是面向对象编程的重要概念,允许类之间的层次结构和代码复用。通过公有、私有和保护继承,可以控制成员的访问权限。派生类继承基类的特性,并可以添加新的成员和功能,同时需要处理构造函数和析构...
利用C++中的继承与多态,实验构造函数的作用
当我们谈论“C++继承中的内存布局”时,主要关注的是类对象在内存中的组织方式,以及这如何受到继承的影响。C++的对象模型在不同环境下可能有所不同,但这里我们将基于VC++的实现进行讨论。 首先,我们要明确,C++...
学习C++类的继承与多态详细全面易于理解的资料,从百度文库免费资源中获取。
标题"**C++继承讲解和代码示例.rar**"表明这是一个关于C++继承的教程资源,包含文字解释和实际的代码示例,用于帮助学习者理解和掌握C++中的继承机制。 首先,我们需要了解继承的基本概念。在C++中,通过使用关键字...
总之,这个实验旨在通过实际操作加深对C++继承和派生的理解,特别是它们在构建类层次结构中的应用,以及如何处理与之相关的访问控制、构造/析构、二义性等问题。通过完成实验,学生能够更好地运用面向对象编程原则来...