`

语法基础(一)_c++学习笔记

 
阅读更多

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学习笔记.rar_C++笔记_c++学习笔记_c/C++_学习笔记_编程语言

    《C语言和C++Builder学习笔记.docx》这份文档可能包含了作者在学习过程中的心得、示例代码和解决问题的经验,对于初学者来说是一份宝贵的资源。通过深入阅读和理解,你将能够更好地掌握C语言和C++Builder的基本原理...

    C++基础语法学习笔记_C++初学者学习笔记_

    以上只是C++基础语法的一部分,实际学习中还需要理解并掌握更多内容,如模板、STL(标准模板库)、文件I/O、多态、继承和封装等。持续学习和实践是掌握C++的关键。随着你对C++的理解加深,你将能够编写更复杂、功能...

    c++个人学习笔记归纳总结.rar_C++STL_X9H3_c++个人笔记总结

    总的来说,"C++个人学习笔记归纳总结"涵盖了C++编程的基础到进阶内容,从语法基础到STL的深入学习,再到实际项目的应用。通过这样的学习过程,开发者不仅可以掌握C++语言,还能培养良好的编程思维,为未来解决复杂...

    c++学习笔记精华版

    ### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...

    C++笔记.zip_C++_笔记

    本资料"**C++笔记.zip**"提供了全面的C++学习资料,特别是针对C++初学者和进阶者的一份宝贵的资源集合。 **C++基础** C++的基础部分包括语法、变量、数据类型、运算符、流程控制等。C++支持基本的数据类型如int、...

    C++学习笔记_C++_

    总结,C++学习笔记涵盖了从基础到高级的各种主题,包括面向对象编程的精髓、模板和标准库的使用、异常处理和命名空间的管理,以及C++11及后续标准的新特性。通过深入理解和实践这些知识点,开发者能够熟练掌握C++,...

    C++ 学习笔记 整理

    这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...

    2020届_笔试面试_C++刷题笔记.zip

    1. **C++基础知识**:这是所有C++学习者的起点,包括基本语法、变量、控制结构(如if-else,switch-case)、函数、类与对象、模板等。深入理解这些概念是成为熟练C++程序员的基础。 2. **C++进阶特性**:涵盖了STL...

    c++学习笔记.pdf

    标题中的"C++学习笔记.pdf"表明文档是一份关于C++语言的学习记录。C++是一种广泛使用的编程语言,由Bjarne Stroustrup在1980年代初开发,它是一种静态类型、编译式、通用编程语言。C++支持多范式编程,包括过程化、...

    C++学习笔记.doc

    总之,C++学习是一个逐步深入的过程,从基本语法到高级特性,都需要时间和实践去掌握。通过阅读本系列的学习笔记,你将有机会逐步建立起对C++和编程的全面理解,从而在编程世界中游刃有余。记住,编程不仅是语言的...

    新手C++学习笔记(仅供菜鸟成长参考).rar

    总之,《新手C++学习笔记》是一份全面的入门指南,通过它,初学者不仅可以掌握C++的基本语法,还能了解到实际编程中的最佳实践和陷阱。无论你是自学C++,还是在学校或工作中使用,这份笔记都能作为宝贵的参考资料,...

    C++语法学习笔记(至六十一)

    这篇学习笔记主要涵盖了C++的基础知识,包括函数定义、头文件、注释、名称空间、常量、变量、进制转换、基本类型以及常用函数的使用。 1. **函数定义**: 函数是C++中组织代码的基本单元。`main()`是每个C++程序的...

    c++学习笔记

    这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...

    C++基础学习笔记.pdf

    对于C++初学者来说,理解其基础概念和语法是至关重要的。以下是一些C++基础学习的关键知识点: 1. **基本数据类型**:C++中的基本数据类型包括整型(int、short、long、long long)、浮点型(float、double)、字符...

    C++学习笔记经典(与C比较)

    《C++学习笔记经典(与C比较)》这份资料应该会详细讲解这些知识点,并通过实例来帮助读者深入理解C++与C的差异,以及如何在实际编程中应用C++的特性和功能。这份资料可能会涵盖基本语法、类和对象、模板、STL的使用...

    C++零基础_学习笔记大全

    在C++的学习中,首先需要理解的是编程的基本概念。...总之,C++学习是一个逐步深入的过程,从基础语法到高级特性的掌握,需要耐心和实践。通过系统的笔记和持续的练习,可以逐步建立起扎实的C++编程基础。

    C++整理笔记word版——01 C++学习笔记

    C++是一种强大的面向对象编程语言,它源自C语言并扩展了其...学习这些概念是成为C++程序员的第一步。在实际编程中,还需要理解类、对象、继承、多态等面向对象编程的概念,以及函数、模板、文件操作等更高级的主题。

    达内学生的C++学习笔记

    《达内学生C++学习笔记》是一份专为初学者设计的C++教程,旨在提供清晰易懂、逐步深入的学习路径。这份笔记涵盖了C++语言的基础到进阶内容,是学习C++的理想辅助资料。 首先,C++是一种静态类型的、编译式的、通用...

    2020最新_C++全套视频教程(首发)源码+笔记+课件

    总之,《2020最新_C++全套视频教程》是一份全面的C++学习资源,涵盖了从基础到进阶的所有重要知识点,结合QT编程实践,提供源码分析、笔记和课件,为学习者打造了一个完整的学习环境。无论你是编程新手还是寻求进阶...

    C++笔记_C++_

    1. **基础语法**:C++的基础语法包括变量定义、数据类型(如int、float、char等)、运算符(如算术、比较、逻辑和位运算符)以及流程控制结构(如if-else、switch-case、for、while循环)。理解这些基本元素是学习...

Global site tag (gtag.js) - Google Analytics