
C++学习
MyLight1109
www.mylight1109.cn
展开
-
[C++]学习笔记9:多态性与虚函数
1.多态性的概念多态性:向不同的对象发送同一个消息,不同的对象在接受时,会产生不同的行为支持多态:面向对象:C++、java不支持多态:基于对象的:VB、Ada多态的两种情况静态多态:在程序编译时就能决定调用哪个函数实现:函数的重载(包含运算符重载)动态多态:在程序运行过程中才能决定调用的对象成员实现:虚函数(virtual function)2.虚函数构造函数不能...原创 2020-04-29 18:37:54 · 249 阅读 · 0 评论 -
[C++]学习笔记8:继承与派生(3)
1.虚基类在类的继承中,如果我们遇到这种情况:“B和C同时继承A,而B和C都被D继承”在此时,假如A中有一个函数 f() 当然同时被B和C继承,而D按理说继承了B和C,同时也应该能调用 f() 函数。这一调用就有问题了,到底是要调用B中的 f() 函数还是调用C中的 f() 函数呢?在C++中,有两种方法实现调用:(注意:这两种方法效果是不同的)1)使用作用域标识符来唯一表示它们比如:...原创 2020-04-20 18:17:51 · 353 阅读 · 0 评论 -
[C++]学习笔记7:继承与派生(2)
1.派生类的构造函数和析构函数基类构造函数不能继承到派生类中设计派生类的构造函数是需考虑的问题:1.原有基类中数据成员的初始化2.派生类中新增数据成员的初始化3.解决思路:在派生类构造函数中,调用基类构造函数#include<iostream>#include<string>using namespace std;class student{ //...原创 2020-04-13 17:42:35 · 3396 阅读 · 0 评论 -
[C++]学习笔记6:继承与派生(1)
1.概念继承的目的:实现设计与代码的重用,充分利用原有的类派生的目的:当新的问题出现,原有程序无法解决,需要对原有程序进行改造2.方法单继承时派生类的定义: class 派生类名:继承方式 基类名{ 成员声明; }继承方式包含三种:public、private、protected若省略继承方式,则默认为private常用 public例子:class Derived: pu...原创 2020-03-30 19:53:36 · 296 阅读 · 0 评论 -
[C++]学习笔记5:运算符重载
1.可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。2.方法函数类型 operator 运算符名称(形参列表){函数体}如:Complex operator +(Complex &c1,Com...原创 2020-03-24 15:59:36 · 186 阅读 · 0 评论 -
[C++]学习笔记4:友元函数与友元类
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:#in...原创 2020-03-24 15:06:29 · 229 阅读 · 0 评论 -
[C++]学习笔记3:static关键字
1.首先介绍一下C语言中的static,有三种静态局部变量:用于函数体内部修饰变量,这种变量的生存期长于该函数。#include<stdio.h>int fun(){ static int i = 1; i += 1; return i; } int main(){ printf("%d\n",fun()); printf("%d\n",fun()); ...原创 2020-03-17 11:23:41 · 168 阅读 · 0 评论 -
[C++]学习笔记2:构造函数与析构函数
析构函数和构造函数都没有返回值析构函数没有形参1.构造函数可以给一个对象在创建之初进行初始化构造函数的函数名必须和类名相同class 类名{ 类名(形式参数){ 构造体 }}class student{ private: int num; int score; public: student() {} student(in...原创 2020-03-16 18:09:08 · 216 阅读 · 0 评论 -
[C++]学习笔记1:初识C++
1.最简单的C++程序求a和b两个数之和#include<iostream>using namespace std; int main( ) { int a,b,sum; cin>>a>>b; sum=a+b; cout<<“a+b="<<sum<<en...原创 2020-02-17 17:57:22 · 565 阅读 · 8 评论