1.使用构造函数。 显式调用: Stock food = Stock("adasdas",2250); 隐式调用:Stock food("adasdas",2250); 使用动态内存分配调用: Stock *pstock = new Stock("adasdas",2250); 注意:无法使用对象来调用构造函数,因为在构造函数构造出对象前,对象是不存在的。 因此,构造函数被用来创建对象,而不是通过对象来调用。2.const成员函数。 声明:void show() const; 定义:void stack::show() const; 以这种函数声明和定义的类函...
前言 这篇文章对 C++ 里一些最基础的编程知识进行简要介绍。 子目录列表 1、环境与编译 2、头文件 3、注释 4、变量与常量 5、输入与输出 6、格式与缩进 7、#define 与 typedef 8、运算符 9、分支与循环 10、数组与结构体 11、函数 12、文件操作 1.2 C++ 入门基础知识 1、环境与编译 ① IDE 请参见:https://www.cnblogs.com/jinkun113/p/12741364.html ② 编译器 Windows 下需要自行下载,当然 IDE 可能直接集成了编译器,或者提...
一、隐式类型转换 首先,对于内置类型,低精度的变量给高精度的变量赋值是会发生隐式类型转换。其次,对于只存在单个参数的构造函数的对象构造来说,函数调用可以直接使用该参数传入,编译器会自动调用其构造函数生成临时对象。 二、new/delete和molloc/free的区别 首先,new/delete是C++的关键字,而molloc/free是C语言的库函数,后者使用不许指明申请内存空间的大小,对于类类型的对象,后者不会调用构造函数和析构函数。 三、fo...
参考点赞 收藏分享文章举报tom-wei发布了116 篇原创文章 · 获赞 7 · 访问量 2万+私信 关注
导航 1.函数模板及注意事项 2.用模板写个排序函数 3.普通函数与函数模板的区别 4.普通函数与函数模板的调用 5.模板的局限性 ——————————————————————————————————— 1.函数模板 语法:template< typename T> typename也可以用class 其中T为通用类型,下面看两个例子 例1: #include <iostream> using namespace std; //交换两个整型函数 void swapint(int &a,int &b) {int temp = a;a = b;b = ...
C++ 基础知识 知识点列号 说明1 引言2 函数与参数3 异常4 动态存储空间分配5 自有数据类型6 异常类illegalParameterValue引言在检查一个程序的时候,我们应该提出如下疑问:它正确吗? 它容易读懂吗? 它有完善的文档吗? 它容易修改吗? 它在运行时需要多大内存? 它的运行时间有多长? 它的通用性如何?能否不加修改就可以解决更大范围的数据? 它可以直接在多种计算机上编译和运行吗?或者说它需要修改之后才能运行吗?函数与参...
一、添加菜单栏 1、首先要开辟出菜单区域,在内存中开辟出菜单区域之后设置显示 QMenuBar *mBar=new QMenuBar(); setMenuBar(mBar); //上面只是开辟了菜单栏的控件但是没有进行分配,所以使用setbar进行设置 使用setMenuBar()函数设置菜单区域,mBar为区域指针 2、在菜单栏中开辟对话框,使用addMenu()函数,在QMenu *menu=mBar->addMenu(QString::fromLocal8Bit("对话框"));上述语句在菜单栏中添加对话框选项,为了进一步在...
最近又稍微过了一些C和C++的基础知识 基本数据类型 1.整型 ①整型int:32bit,取值范围?,?范围以内整数都可定义成整型 ②长整型long long:64bit ,取值范围?,如果longlong型赋值大于?的数,需要在初值后面加上LL %d是int型的输出格式 2.浮点数 ①单精度float:32bit,范围?,但是有效精度只有6-7位 ②双精度double:64bit,范围?,有效精度15-16位。 对浮点型来说,不要使用float,碰到浮点型的数据都应该用double来存储 %f是float...
1. 结构 1.0 结构 数组是相同类型元素的集合,相反,struct 是任意类型元素的集合。 代码例子: struct Address {const char* name;int number;const char* street;const char* town; } // 初始化: Address jd = {"zs", 1, "jd", "t"}; // 赋值 jd.name = "ls"; cout << jd.name << endl; // 取值 void print_add1(const Address* add) {cout << add->name << endl<< add->number << endl<< add->street << endl << add->town << ...
1、map简介 map是一种关联式容器,主要用于对数据一对一的映射。 2、map的构造 (1)头文件:#include<map> (2)定义:map<第一关键字,第二关键字> 名字 如:map<int,string> a //左边为关键字key ,右边为映射的内容 3、map的基本操作 find() //查找一个元素 insert() //插入一个元素 size() //返回map中元素的个数 swap() //交换两个map clear() //删除所有元素 empty() //...
1、在32系统下输出的结果为( )#include <stdio.h>#pragma pack(2) struct Test1 {int a;char b;short c;int *d; }A; #pragma pack()#pragma pack(4) struct Test2 {int *d;char b;int a;short c; }B; #pragma pack()int main() {printf("%d,%d\n",sizeof(A),sizeof(B));return 0; } 输出:12,162、计算机程序设计语言的发展,经历了从___、___到___的历程。 机器语言,汇编语言,高级语言 3、用户自定义函数包含两个部分,即...
1. 对下面变量声明描述正确的有()int?*p[n]; int?(*)p[n]; int?*p(); int?(*)p();int *p[n];—–指针数组,每个元素均为指向整型数据的指针int (*)p[n];—p为指向一维数组的指针,这个一维数组有n个整型数据int *p();——函数带回指针,指针指向返回的值int (*)p();—-p为指向函数的指针正确答案:Aint *p[4]; //表示指针数组,有四个元素,每个元素都是整型指针。 int (*p)[4]; //表示行指针,所指对象一行有四个元素。 int *p...
一、常用数据结构: 1. list http://www.cplusplus.com/reference/list/list/ https://www.geeksforgeeks.org/list-cpp-stl/ 表示双向链表;单向链表用forward_list; 可以在常数时间复杂度内进行插入和删除,但是不能通过下标直接获取相应位置元素。 缺点是,需要存储额外的链接信息。 二、使用方法 1. C++用Vector定义二维数组并使用 https://blog.csdn.net/a819825294/article/details/52088732 https://leetcode.com/problems...
xor (异或) 如果a、b两个值不相同,则异或结果为1 如果a、b两个值相同,异或结果为0 技巧: 这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法 0 xor 0=0 1 xor 0=1 0 xor 1=1 1 xor 1=0(同为0,异为1)
1、位运算 2、原码、补码、反码