![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
我是叫帽帽啊
这个作者很懒,什么都没留下…
展开
-
北京大学MOOC 程序设计与算法(三)C++面向对象程序设计 期末考试
1单选(1分)1) 关于复制构造函数,下列说法正确的是A. 系统不会生成缺省复制构造函数,因此必须自己实现B. 复制构造函数是形如X::X(X)的函数C. Myclass c1, c2; c1.n = 1; c2 = c1;第三句将会调用复制构造函数D. 调用函数A Func() { A a(4); return a; }时,将会调用A的复制构造函数正确...原创 2018-11-12 23:21:53 · 12691 阅读 · 1 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第七周测验
1:简单的SumArray描述填写模板 PrintArray,使得程序输出结果是: TomJackMaryJohn 10 不得编写SumArray函数#include <iostream>#include <string>using namespace std;template <class T>T SumArray(// 在此处补充...原创 2018-10-21 19:41:33 · 4536 阅读 · 0 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第四周测验
1:MyString补足MyString类,使程序输出指定结果#include <iostream>#include <string>#include <cstring>using namespace std;class MyString { char * p;public: MyString(const char * s) { if...原创 2018-10-21 19:31:57 · 3649 阅读 · 0 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第三周测验
1:返回什么才好呢程序填空,使其按要求输出#include <iostream>using namespace std;class A {public: int val; A(int// 在此处补充你的代码};int main(){ int m,n; A a; cout << a.val << endl; while...原创 2018-10-21 19:25:43 · 3799 阅读 · 1 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第一周测验
1:简单的swap描述填空,使得程序输出结果是:#include <iostream>using namespace std;class A{ public: int x; int getX() { return x; } };void swap(// 在此处补充你的代码){ int tmp = a.x; a.x = b.x; b.x...原创 2018-10-21 19:20:54 · 3386 阅读 · 2 评论 -
北京大学MOOC C++学习笔记(七)函数模板和类模板
函数模板:交换两个整型变量的值的Swap函数:void Swap(int & x,int & y){ int tmp = x; x = y; y = tmp;}交换两个double型变量的值的Swap函数:void Swap(double & x,double & y){ double tmp = x; x =...原创 2018-10-21 18:50:25 · 705 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(六)输入输出和文件操作
输入输出相关的类与输入输出流操作相关的类:istream是用于输入的流类,cin就是该类的对象。 ostream是用于输出的流类,cout就是该类的对象。 ifstream是用于从文件读取数据的类。 ofstream是用于向文件写入数据的类。 iostream是既能用于输入,又能用于输出的类。 fstream 是既能从文件读取数据,又能向文件写入数据的类。标准流对象:输入流...原创 2018-10-21 16:22:02 · 728 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(五)虚函数和多态
虚函数:在类的定义中,前面有 virtual 关键字的成员函数就是虚函数。class base {virtual int get() ;};int base::get(){ }virtual 关键字只用在类定义里的函数声明中,写函数体时不用。多态的表现形式一派生类的指针可以赋给基类指针。 通过基类指针调用基类和派生类中的同名虚函数时:若该指针指向一个基类的对象,那么被调...原创 2018-10-21 11:00:58 · 1255 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(四)继承和派生
继承和派生概念:继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个 基类,而把B作为基类的一个 派生类( ( 也称子类) )。派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的全部成员函数和成员变量,不论是private、protec...原创 2018-10-21 10:28:58 · 623 阅读 · 0 评论 -
C++中memset函数的用法
//复习数组的时候,第一次见到了memset,学之。memset:char型初始化函数头文件:<string.h> 或 <memory.h>函数原型:void *memset(void *s , int ch , size_t n )memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );memset(结构体/数组名 , ...转载 2018-10-23 10:49:57 · 8949 阅读 · 0 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第六周测验
第六周学习的主要内容是虚函数和多态1:看上去像多态描述,程序填空产生指定输出#include <iostream>using namespace std;class B { private: int nBVal; public: void Print() { cout << "nBVal="<< nBVal <&...原创 2018-10-14 17:08:58 · 3296 阅读 · 1 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第五周测验
第五次课主要是学习的类的继承和派生,联系前面几次课学的类基础,构造函数,拷贝构造函数,析构函数,运算符重载等知识。本周测试共4道题,其中第三道题 《魔兽世界* 装备》不要求提交。第一道题:1:全面的MyString程序填空,输出指定结果#include <cstdlib>#include <iostream>using namespace std;...原创 2018-10-13 22:43:56 · 2405 阅读 · 0 评论 -
北京大学MOOC C++程序设计 程序设计与算法(三)第二周测验
以下四个题都很基础,是最近复习C++类和对象的知识做的,其中第三题考查了类型转换构造函数,第四题考查的析构函数,都非常简单。让我感到棘手的是第一题中如何读入一个带有空格的字符串,最后解决方案是发现了cin.getline()函数。其次是要使用一个char c来存储用于分隔的逗号。eg:输入是mao mao,18,8092,80,80,80,80 你使用cin.getline(name,20,'...原创 2018-09-19 23:10:29 · 5955 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(三)运算符重载
运算符重载: 运算符重载,就是对已有的运算符(C++中预定义的运算符)赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为。运算符重载的目的是:扩展C++中提供的运算符的适用范围,使之能作用于对象。同一个运算符,对不同类型的操作数,所发生的行为不同。complex_a + complex_b 生成新的复数对象 5 + 4 = 9 运算符重载的形式:运算符...原创 2018-09-24 22:10:46 · 2034 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(二)类
类成员的可访问范围: 在类的定义中,用下列访问范围关键字来说明类成员可被访问的范围:– private: 私有成员,只能在成员函数内访问– public : 公有成员,可以在任何地方访问– protected: 保护成员,以后再说如过某个成员前面没有上述关键字,则缺省地被认为是私有成员。 在类的成员函数内部,能够访问: – 当前对象的全部属性、函数; – 同类其它对象的...原创 2018-09-24 17:42:44 · 2032 阅读 · 0 评论 -
北京大学MOOC C++学习笔记(一)
引用:定义引用时一定要将其初始化成引用某个变量。 初始化后,它就一直引用该变量,不会再引用别的变量了。 引用只能引用变量,不能引用常量和表达式。double a = 4, b = 5;double & r1 = a;double & r2 = r1; // r2 也引用 ar2 = 10;cout << a << endl; // 输出...原创 2018-09-24 14:13:59 · 1182 阅读 · 0 评论 -
C++动态分配 创建二维数组
用vector实现: vector<vector<int> > grid; int m,n; cin>>m>>n; grid.resize(m); for(int i=0;i<m;i++) grid[i].resize(n); for(int i=0;i<m;i++)...原创 2018-07-31 20:21:07 · 912 阅读 · 0 评论 -
为什么要添加stdiossync_with_stdio(false);
我们都知道C++的运行速度不如C的,那么主要的原因是C++的输入输出流兼容了C的输入输出,因此,C++的速度才会变慢,如果我去掉C++的输入输出的兼容性的话,速度就和C的差不多了,大家可以实验一下。#include<iostream>using namespace std;int main(){ std::ios::sync_with_stdio(false);...原创 2018-07-31 15:40:13 · 642 阅读 · 1 评论