C++学习
hyluo_
这个作者很懒,什么都没留下…
展开
-
C++学习之函数
首先是C++的函数与C基本一致的地方: 函数定义(同C) 函数是定义好的、可重用的功能模块。定义函数是将一个模块的算法用C++描述出来。函数名是功能模块的名字。函数的参数是计算所需要的数据和条件。函数的返回值:需要返回的计算结果。 函数定义的语法形式(同C) 函数名形式参数表语句序列类型标识符 函数调用(同C) 调用函数需要先声明函数原型。...原创 2019-03-05 13:29:22 · 172 阅读 · 0 评论 -
C++学习之多态
虚函数 在类的定义中,前面有 virtual 关键字的成员函数就是虚函数。例如:class base { virtual int get() ;};int base::get(){ }virtual 关键字只用在类定义里的函数声明中, 写函数体时不用。 多态的表现形式一 派生类的指针可以赋给基类指针。通过基类指针调用基类和派生类中的同名虚函数时:...原创 2019-03-16 08:30:59 · 554 阅读 · 0 评论 -
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 ...原创 2019-03-20 16:11:11 · 184 阅读 · 0 评论 -
C++测验小结3
编程填空:统计动物数量 描述代码填空,使得程序能够自动统计当前各种动物的数量#include <iostream>using namespace std;// 在此处补充你的代码void print() { cout << Animal::number << " animals in the zoo, " &l...原创 2019-03-16 21:46:14 · 284 阅读 · 0 评论 -
C++学习之共享数据的保护
对于既需要共享、又需要防止改变的数据应该声明为常类型(用const进行修饰)。对于不改变对象状态的成员函数应该声明为常函数。 常类型 1、常对象:必须进行初始化,不能被更新。const 类名 对象名2、常成员:用const进行修饰的类成员(常数据成员和常函数成员)3、常引用:被引用的对象不能被更新。const 类型说明符 & 引用名4、常数组:数组元素不能...原创 2019-03-08 12:43:29 · 332 阅读 · 0 评论 -
C++多文件结构和预编译命令
C++的一般组织结构 1、一个工程可以被划分为多个源文件:类声明文件(.h文件)类实现文件:(.cpp文件)类的使用文件(main()所在的.cpp文件)2、利用工程来组合各个文件例如://文件1,类的定义,Point.hclass Point { //类的定义public: //外部接口 Point(int x = 0, int ...原创 2019-03-08 13:32:48 · 655 阅读 · 0 评论 -
C++运算符重载——看上去好坑的运算符重载
就是想把这个程序敲一遍 #include <iostream>using namespace std;class MyInt{ int nVal;public: MyInt(int n) { nVal = n}; MyInt & operator-(int n){ //运算符重载- nVal -= n; ...原创 2019-03-30 16:39:44 · 1361 阅读 · 1 评论 -
Visual Studio 2017常见的错误解决
使用strcpy、strcmp等字符串操作的函数时,会出现以下error提示: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.解决方法有两个,第一个就是将str...原创 2019-03-29 11:48:37 · 764 阅读 · 0 评论 -
在C于C++中定义结构体的区别
在C中定义一个结构体:(注意C里定义结构体一般都会使用关键字typedef)typedef struct Student{ int a;}stu;上面的含义是指:给struct Student 起了个别名叫做stu,所以struct Student就等同于stu,两者都相当于结构体的标识符,当我们想要声明结构变量的时候,就可以使用如下命令:stu stu1;//或者用...原创 2019-05-05 15:14:49 · 611 阅读 · 1 评论 -
C++学习之运算符重载
运算符重载的基本概念 为什么要重载运算符?C++中预定义的运算符只能用于基本数据类型的计算,但有时我们会希望对象也能通过运算符进行运算,(比如求两个复数对象的和)这样会使代码更简洁,容易理解。运算符重载,就是对已有的运算符(C++中预定义的运算符)赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为。重载的目的是扩展C++中提供的运算符的适用范围,使之能作用于对...原创 2019-03-11 17:24:51 · 1088 阅读 · 0 评论 -
C++编程做题总结
超简单的复数类 总时间限制:1000ms 内存限制:65536kb描述:下面程序的输出是:3+4i5+6i请补足Complex类的成员函数,不能加成员变量。#include <iostream>#include <cstring>#include <cstdlib>using namespace std;cl...原创 2019-03-10 22:38:32 · 321 阅读 · 0 评论 -
C++学习一
引用 int n = 4;int &r = n;上面的写法就定义了一个引用,并将其初始化为引用某个变量。类型名 &引用名 = 某变量名上面指的是r引用了n,而r的类型时int &.某个变量的引用,等价于这个变量,相当于该变量的别名。定义引用时,一定要将其初始化成引用某个变量,初始化后,它就一直引用该变量,不会再引用别的变量了。引用只能是引...原创 2019-03-02 13:37:09 · 184 阅读 · 0 评论 -
C++学习二
C++的历史发展 带类的C,1983正式取名C++,2011年发布第三版C++标准C++11,包含核心语言的新机能、扩展C++标准程序库。2014年公布C++14。 C++的特点 兼容C,支持面向过程的程序设计,支持,面向对象的方法,支持泛型程序设计方法。 命名空间 避免命名冲突。std是C++标准库的命名空间(namespace)名。using namespa...原创 2019-03-03 23:21:07 · 860 阅读 · 0 评论 -
C++学习之类与对象(一)
面向对象程序设计的基本特点 抽象:1、对同一类对象的共同属性和行为进行概括,形成类。先注意问题的本质及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:类。2、抽象实例:钟表数据抽象:int hour, int minute, int second代码...原创 2019-03-06 20:10:59 · 548 阅读 · 0 评论 -
C++学习之类与对象(二)
构造函数 构造函数的作用:在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的初始状态。例如:希望在构造一个Clock类对象时,将初始时间设为0:0:0,就可以通过构造函数来设置。 构造函数的形式 1、函数名与类名相同;2、不能定义返回值类型,也不能有return语句;3、可以有形式参数,也可以没有形式参数;4、可以是内联函数;可以重载;可以带默认参数值...原创 2019-03-06 21:15:02 · 190 阅读 · 0 评论 -
C++学习之类和对象巩固
类成员的可访问范围 private:私有成员,只能在成员函数内访问。public:公有成员,可以在任何地方访问。在类的成员函数内部,能够访问1、当前对象的全部属性和函数;2、同类其他对象的全部属性和函数。在类的成员函数以外的地方,只能够访问该类对象的公有成员。设置成员函数的机制,叫做隐藏,“隐藏”的目的是强制对成员变量的访问一定要通过成员函数 进行,那么以后...原创 2019-03-09 17:40:59 · 840 阅读 · 0 评论 -
C++类与对象提高
this指针 先看C++程序到C程序的翻译过程:this指针的作用:指向成员函数所作用的对象。非静态成员函数中可以直接使用this指针来代表指向该函数作用的对象的指针。静态成员函数中不能使用this指针;因为静态成员函数并不具体作用于某个对象,因此,静态成员函数的真实的参数的个数,就是程序中写出的参数个数。例题:下列说法不正确的是:1、静态成员函数中不能...原创 2019-03-09 19:44:24 · 663 阅读 · 0 评论 -
C++学习之数据的共享与保护
标识符的作用域与可见性 作用域是一个标识符在程序正文中有效的区域。作用域分类:1、函数原型作用域2、局部作用域(块作用域)3、类作用域。4、文件作用域。5、命名空间作用域(后面会学习) 函数原型作用域 函数原型中的参数,其作用域始于"(",结束于")"。例如:double area(double radius); 局部作用域 函数的形参...原创 2019-03-07 14:28:11 · 233 阅读 · 0 评论 -
C++学习之继承与派生
概念 继承是指在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到的,在派生类中,可以扩充新的成员变量和成员函数。派生类一经定义后,可以独立使用,不依赖于基类。派生类拥有基类的全部成员函数和成员变量,不论是private、protected、pub...原创 2019-03-14 22:40:18 · 2210 阅读 · 0 评论 -
C++学习之输入输出
输入输出相关的类 与输入输出流操作相关的类:istream是用于输入的流类,cin就是该类的对象。ostream是用于输出的流类,cout就是该类的对象。ifstream是用于从文件读取数据的类。ofstream是用于向文件写入数据的类。iostream是既能用于输入,又能用于输出的类。fstream 是既能从文件读取数据,又能向文件写入数据的类。 标准流...原创 2019-03-19 15:22:10 · 417 阅读 · 0 评论 -
C++debug
出现了error:无法打开文件“C:\Users\asus\source\repos\leetcode\Debug\leetcode.exe”这时,只需要关闭上次运行的跳出框就行了,原因就是你上次运行完没有关闭输出窗口。有点小坑。...原创 2019-05-29 23:40:22 · 639 阅读 · 0 评论