#include <iostream>;
using namespace std;
/*
类继承中的构造函数
当Animal的构造函数变为Animal(int height,int weight)时,系统并不会为Animal生成默认构造函数。
这个时候 Fish类的构造函数要变为:Fish(): Animal(100,200) --》其中的100 200为传入的参数。
Fish类可以在构造的时候为常量 a 赋值。 Fish(): Animal(100,200),a(1) 其中1是给常量赋的值
~Animal(){} 析构函数。 释放对象。
*/
class Animal
{
public:
/*Animal()
{
cout << "Animal construct" << endl;
}*/
Animal(int height,int weight)
{
cout << "Animal construct" << endl;
}
~Animal()
{
cout << "Animal deconstruct" << endl;
}
void eat()
{
cout << "Animal eat" << endl;
}
void sleep()
{
cout << "Animal sleep" << endl;
}
//虚函数
virtual void breathe()
{
cout << "Animal breathe" << endl;
}
};
class Fish : public Animal
{
private :
const int a;
public :
//在构造函数中给常量赋值。
Fish(): Animal(100,200),a(1)
{
cout << "Fish construct" << endl;
}
~Fish()
{
cout << "Fish deconstruct" << endl;
}
void breathe()
{
cout << "fish bubble" << endl;
}
};
int main(){
Fish fish;
return 0 ;
}
运行截图:
[img]
[/img]
- 大小: 18 KB
分享到:
相关推荐
### 构造函数和析构函数在C++中的应用 #### 概述 构造函数与析构函数是C++编程语言中非常重要的概念,它们在类的实例化和销毁过程中扮演着关键角色。通过理解这些函数的工作原理及其作用,我们可以更好地控制对象...
在C++编程语言中,类是面向对象编程的核心概念之一,它允许我们定义自己的数据类型,...掌握这些基本概念是深入学习C++面向对象编程的基础。在实际开发中,根据具体需求合理设计这些函数,可以使程序更加健壮和高效。
C++ 默认构造函数 C++ 默认构造函数是编程语言C++中的一种特殊构造函数,它是编译器自动提供的,无需程序员手动定义。...因此,程序员需要认真学习和掌握C++默认构造函数的概念和使用规则,以提高自己的编程技能。
根据提供的文件信息,我们可以...通过以上知识点的学习,我们不仅能够理解C++中类的定义和构造函数的概念,还能掌握如何有效地管理和使用对象的生命周期,以及如何进行更高级的操作,如格式化输出和动态内存管理等。
本超级学习教程深入探讨了C++中的构造函数,包括C++11标准引入的新特性。 1. 构造函数的基本概念: 构造函数与类的名称相同,没有返回类型,但可以接受任意数量的参数。每个类可以有多个重载构造函数,以适应不同...
在C++编程中,数据结构是理解和操作复杂数据的关键,而C++的构造函数与析构函数以及类型转换则是实现高效、安全代码的...希望这个压缩包中的资源能成为你学习C++数据结构、构造函数、析构函数和类型转换的宝贵工具。
例如,在C++中,如果你没有定义任何构造函数,编译器会自动提供一个默认构造函数。默认构造函数的定义如下: ```cpp class MyClass { public: MyClass() { // 默认构造函数 // 初始化代码 } }; ``` 接下来是...
### C++构造函数与析构函数详解 在学习面向对象编程的过程中,构造函数与析构函数是两个非常重要的概念。本文将围绕一个简单的股票信息类`Stock`来深入讲解这两个概念,并通过具体代码实例帮助理解。 #### 构造...
C++构造函数、析构函数和赋值操作符学习小结 C++ 构造函数、析构函数和赋值操作符是 C++ 编程语言中的基本组件,它们提供了对象的初始化、销毁和赋值操作。这些函数的正确性对整个类的正确性至关重要。 构造函数 ...
总结起来,深入学习C++构造函数,我们需要掌握如何定义和使用默认构造函数、带参数的构造函数、拷贝构造函数以及移动构造函数。同时,了解列表初始化和移动语义对于提高代码效率和正确性至关重要。在实际编程中,...
构造函数是C++编程语言中的一种特殊的成员函数,它是在创建对象时由系统自动执行的函数。构造函数的主要功能是将对象初始化,并执行一些必要的操作,以便对象能够正确地工作。构造函数的定义必须与类名相同,并且不...
C++的构造函数是类的重要组成部分,用于在创建对象时初始化成员变量。构造函数的名称与类名相同,且无返回类型。它们在对象生命周期的开始阶段...在实践中,不断学习和改进构造函数的使用技巧是提升C++编程技能的关键。
学习C++的过程中,理解并熟练运用构造函数和友元能够提高代码的效率和灵活性。构造函数有助于对象的正确初始化,而友元则可以解决某些情况下因封装性导致的访问限制问题。对于初学者来说,通过实践和例子来加深理解...
了解这些基本语法结构是学习C++的基础,包括变量声明、运算符、流程控制语句(如if、switch、for、while)等。 2. **数据抽象**:数据抽象是隐藏对象内部实现细节,只暴露必要的接口给外部使用的过程。它通过封装来...
可见性继承比较简单,而虚拟继承对学习c++的难度较大。 首先,虚拟继承与普通继承的区别有: 假设derived 继承自base类,那么derived与base是一种“is a”的关系,即derived类是base类,而反之错误; ...
在C++编程语言中,构造函数和析构函数是面向对象程序设计的重要组成部分,它们主要用于对象的初始化和清理工作。本教程将详细讲解这两个概念及其应用。 首先,构造函数是类的一个特殊成员函数,它的主要任务是在...
+ 可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值0。 + 可以采用直接输入参数的方式来初始化该类的成员变量。 + 可以采用其它的CPoint对象来初始化该类的成员变量。 * 设计实现一个CPerson类,...
在C++编程语言中,拷贝构造函数是一个特殊类型的构造函数,它在对象间进行赋值或传递时被调用。拷贝构造函数的主要任务是初始化一个新对象,使其成为已存在对象的一个副本。理解拷贝构造函数对于深入掌握C++的内存...
### C++程序设计实验指导:构造函数及对象数组 #### 实验目的 1. **学会各种形式的构造函数的写法**:理解不同类型的构造函数(无参构造函数、有参构造函数、带默认参数的构造函数等)的定义与使用方法。 2. **学会...