![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C及C++程序设计
潜水的飞鱼baby
just maybe。
展开
-
C++虚函数的概念
虚函数:l 虚函数是一种在基类定义为virtual的函数,并在一个或多个派生类中再定义的函数。虚函数的特点是,只要定义一个基类的指针,就可以指向派生类的对象。注:无虚函数时,遵循以下规则:C++规定,定义为基类的指针,也能作指向派生类的指针使用,并可以用这个指向派生类对象的指针访问继承来的基类成员;但不能用它访问派生类的成员。l 使用虚函数实现运行时的多态性的关键在于:必须通过基类指原创 2017-08-20 20:58:26 · 25918 阅读 · 1 评论 -
C++自定义插入操作符和提取操作符
#include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */class data{private:char hh[200];public:int i;float t;char ch;d原创 2017-08-21 13:09:19 · 1750 阅读 · 0 评论 -
C++用ios类的成员函数实现格式化I/O范例
代码:#include #define ECHO(str) std::cout #define ECHOLN(str) std::cout /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main原创 2017-08-23 07:46:04 · 632 阅读 · 0 评论 -
C++不使用任何 include文件得到+inf,-inf和nan
背景:最近在看网易的公开课《斯坦福大学公开课:编程范式》,才知道大学的时候错过了一个多么好玩的课程。不过重点不在这里,而是终于能理解了之前一直没什么心情看的一些东西。代码部分用了《编程范式》提到的一些操作指针的技巧,当然单纯实现标题的要求完全可以不这样做。相关知识:现在所有的计算机都支持一个被称为IEEE浮点标准。IEEE浮点数表示法: IEEE浮点标原创 2017-09-21 13:47:57 · 4733 阅读 · 0 评论 -
C++用控制器函数实现格式化I/O范例
代码:#include #include //包含控制器函数的库 /* run this program using the console pauser or add your own getch, system("pause") or input loop *///输出控制器 std::ostream &myform(std::ostream &out){out.原创 2017-08-23 13:12:16 · 280 阅读 · 0 评论 -
C++类的友元成员
类的友元成员:通过友元成员可以让外部函数直接访问类的私有数据。友元成员可以声明在类的任何地方:私有地方或公有部分。一个函数可以是多个类的友元函数,但需要在各类中分别声明。友元函数的定义可以在类的内部,也可以在外部。友元成员有三种:友元函数、友元成员函数和友元类。友元函数增加了类和外部的接口,节省了调用成员函数的开销。类之间的友元关系不能传递;友元关系不可逆。代码范例:#incl原创 2017-08-22 13:39:55 · 342 阅读 · 0 评论 -
C++多重继承范例
多重继承多重继承即一个类继承了多个基类的属性。多重继承下派生类的构造函数必须同时负责所有基类构造函数的调用,派生类构造函数的参数个数,必须满足多个基类初始化的需要。在多重继承下,当建立派生类对象时,系统首先调用各个基类的构造函数,调用顺序与定义派生类时指定的基类顺序一致。多重继承范例:#include /* run this program using the co原创 2017-08-21 13:32:12 · 433 阅读 · 0 评论 -
C++虚基类
背景及用法虚基类是为了解决多重继承中的二义性问题而提出的。从基类派生出新类时,用关键字virtual将基类说明为虚基类,这样公共的基类只产生一个数据成员的拷贝。虚基类范例:(基类中的元素b只有一个值)代码:#include #include #define ECHO(str) std::cout #define ECHOLN(str) std::cout原创 2017-08-21 13:16:19 · 292 阅读 · 0 评论 -
C++运算符重载范例
#include /* run this program using the console pauser or add your own getch, system("pause") or input loop *//*int main(int argc, char** argv) {return 0;}*/ #if 1 //友元函数重载运算符 复数加法 class complex{privat原创 2017-08-21 06:35:00 · 260 阅读 · 0 评论 -
编程范式13听课笔记——缓冲区溢出和C++接受可变参数
在《编程范式》13中老师给出了几个有趣的例子,这里简单实现一下做个备忘。缓冲区溢出VS隐形无限递归下面是两个由数组溢出导致的宕机,但是出现的原因是不同的。#include <iostream>#include <cstdio>/* run this program using the console pauser or add your own getch, system("pause") or原创 2017-10-25 07:55:07 · 306 阅读 · 0 评论