1. 析构函数:
1)作用:与构造函数相对,清除类的对象,释放内存
2)格式:~类名(),没有返回值和参数
2. 类中定义成员变量时,不能直接赋初值。
3. 类或结构体末尾加 ";" 号
4. C语言中不允许函数名重载;c++中可以
5. 注意父类和子类中都有构造函数和析构函数时的调用顺序
6. 注意子类继承父类和调用父类方法的写法
class Animal
{
public:
Animal(int height, int weight)
{
cout<<"animal contruct"<<endl;
}
};
class Fish:public Animal
{
public:
Fish():Animal(400, 300)
{
cout<<"fish contruct"<<endl;
}
};
7. 类中常量成员的一种初始化方式
class Point
{
public:
Point():x(0),y(0)
private:
const int x, y;
};
8. 多重继承的弊端:子类a继承父类A和B,A类和B类有同名方法funcation(),此时a类实例调用funcation()方法,编译时会报错。
9. 箭头操作符 ( -> ) 和点操作符 ( . ) 的区别:
如果p是指针, p-> function();
如果p是对象, p.function();
10. 虚函数和多态性
class Animal
{
public:
void breathe()
{
cout<<"animal breathe"<<endl;
}
};
class Fish:public Animal
{
public:
void breathe()
{
cout<<"fish breathe"<<endl;
}
};
void fn(Animal *pAn)
{
pAn->breathe();
}
void main()
{
Animal *pAn;
Fish fash;
pAn = &fash;
fn(pAn); //打印结果为 “animal breathe”
}
1)Animal类的 breathe() 方法前添加 virtual 关键字,则打印结果为 “fish breathe”。
2)用 virtual 关键字申明的函数叫虚函数。
3)c++的多态性:在父类的函数前加上 virtual 关键字,在子类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。即 如果对象类型是子类,则调用子类的函数;对象类型是父类,就调用父类的函数。
4)c++的多态性是用过迟绑定技术实现的。
11. 纯虚函数
1)指被表明为不具体实现的虚成员函数(作用类似于java中的抽象方法)
class Animal
{
public:
virtual void breathe() = 0;
};
2)含有虚函数的类叫抽象类。抽象类不能实例化对象。
3)抽象类的子类必须实现纯虚函数,否则也是抽象类,不能实例化对象。
4)纯虚函数也可以有函数体,但此用法少见。
12. 函数的隐藏
1)情况一:子类的函数与父类的函数完全相同(函数名和参数列表都相同),父类的函数没有使用 virtual 关键字,此时父类的函数被隐藏。
2)情况二:子类的函数和父类的函数同名,但参数列表不同,此时不管父类的函数是否加 virtual 关键字,父类函数都被隐藏。
13. 类外定义成员函数
1)在类的内部对成员函数作声明,而在类外定义成员函数,是c++程序设计的一种良好习惯。
class Student
{
public:
void display(); //公用成员函数原型声明
}
void Student::display()
{
...
}
2)“::”,作用域限定符,用来声明函数是属于哪个类的。
分享到:
相关推荐
《C语言和C++Builder学习笔记.docx》这份文档可能包含了作者在学习过程中的心得、示例代码和解决问题的经验,对于初学者来说是一份宝贵的资源。通过深入阅读和理解,你将能够更好地掌握C语言和C++Builder的基本原理...
以上只是C++基础语法的一部分,实际学习中还需要理解并掌握更多内容,如模板、STL(标准模板库)、文件I/O、多态、继承和封装等。持续学习和实践是掌握C++的关键。随着你对C++的理解加深,你将能够编写更复杂、功能...
总的来说,"C++个人学习笔记归纳总结"涵盖了C++编程的基础到进阶内容,从语法基础到STL的深入学习,再到实际项目的应用。通过这样的学习过程,开发者不仅可以掌握C++语言,还能培养良好的编程思维,为未来解决复杂...
### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...
本资料"**C++笔记.zip**"提供了全面的C++学习资料,特别是针对C++初学者和进阶者的一份宝贵的资源集合。 **C++基础** C++的基础部分包括语法、变量、数据类型、运算符、流程控制等。C++支持基本的数据类型如int、...
总结,C++学习笔记涵盖了从基础到高级的各种主题,包括面向对象编程的精髓、模板和标准库的使用、异常处理和命名空间的管理,以及C++11及后续标准的新特性。通过深入理解和实践这些知识点,开发者能够熟练掌握C++,...
这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...
1. **C++基础知识**:这是所有C++学习者的起点,包括基本语法、变量、控制结构(如if-else,switch-case)、函数、类与对象、模板等。深入理解这些概念是成为熟练C++程序员的基础。 2. **C++进阶特性**:涵盖了STL...
标题中的"C++学习笔记.pdf"表明文档是一份关于C++语言的学习记录。C++是一种广泛使用的编程语言,由Bjarne Stroustrup在1980年代初开发,它是一种静态类型、编译式、通用编程语言。C++支持多范式编程,包括过程化、...
总之,C++学习是一个逐步深入的过程,从基本语法到高级特性,都需要时间和实践去掌握。通过阅读本系列的学习笔记,你将有机会逐步建立起对C++和编程的全面理解,从而在编程世界中游刃有余。记住,编程不仅是语言的...
总之,《新手C++学习笔记》是一份全面的入门指南,通过它,初学者不仅可以掌握C++的基本语法,还能了解到实际编程中的最佳实践和陷阱。无论你是自学C++,还是在学校或工作中使用,这份笔记都能作为宝贵的参考资料,...
这篇学习笔记主要涵盖了C++的基础知识,包括函数定义、头文件、注释、名称空间、常量、变量、进制转换、基本类型以及常用函数的使用。 1. **函数定义**: 函数是C++中组织代码的基本单元。`main()`是每个C++程序的...
这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...
对于C++初学者来说,理解其基础概念和语法是至关重要的。以下是一些C++基础学习的关键知识点: 1. **基本数据类型**:C++中的基本数据类型包括整型(int、short、long、long long)、浮点型(float、double)、字符...
《C++学习笔记经典(与C比较)》这份资料应该会详细讲解这些知识点,并通过实例来帮助读者深入理解C++与C的差异,以及如何在实际编程中应用C++的特性和功能。这份资料可能会涵盖基本语法、类和对象、模板、STL的使用...
在C++的学习中,首先需要理解的是编程的基本概念。...总之,C++学习是一个逐步深入的过程,从基础语法到高级特性的掌握,需要耐心和实践。通过系统的笔记和持续的练习,可以逐步建立起扎实的C++编程基础。
C++是一种强大的面向对象编程语言,它源自C语言并扩展了其...学习这些概念是成为C++程序员的第一步。在实际编程中,还需要理解类、对象、继承、多态等面向对象编程的概念,以及函数、模板、文件操作等更高级的主题。
《达内学生C++学习笔记》是一份专为初学者设计的C++教程,旨在提供清晰易懂、逐步深入的学习路径。这份笔记涵盖了C++语言的基础到进阶内容,是学习C++的理想辅助资料。 首先,C++是一种静态类型的、编译式的、通用...
它不仅仅是对语言基础知识的讲解,更是一条从C++基础到面向对象编程再到实际应用的进阶之路。教程内容详实,包括但不限于变量声明、数据类型、运算符使用、控制结构、函数定义等基础语法。初学者可以由此打下坚实的...
1. **基础语法**:C++的基础语法包括变量定义、数据类型(如int、float、char等)、运算符(如算术、比较、逻辑和位运算符)以及流程控制结构(如if-else、switch-case、for、while循环)。理解这些基本元素是学习...