c++
文章平均质量分 55
半雨微凉丶
这个作者很懒,什么都没留下…
展开
-
C++中关于前置声明的前因后果
前辈们已经总结的很到位了,通过以下几方面就可以比较全面的认识和使用。为什么我们要使用c++的前置声明https://www.jianshu.com/p/de396c0751ccc++之类的前置声明https://blog.csdn.net/fjb2080/article/details/5533514C++中前置声明的应用与陷阱https://blog.csdn.net/yunyun1886358/article/details/5672574...原创 2020-07-15 14:59:56 · 241 阅读 · 0 评论 -
构造函数和析构函数
先看如下例子:#include "stdafx.h"#include "iostream"#include "string.h"using namespace std;class CBasic{public: CBasic(const char* str); ~CBasic();private: char name[20];};CBasic::CBasic(const原创 2013-06-13 10:43:32 · 469 阅读 · 0 评论 -
Template
template作为c++的一个很好的繁殖方法,可以认为就是为了改变数据类型。template不仅有宏“只写一次”的优点,也有重载函数“类型检查”的优点。c++的template有两种,一种针对function,另一种针对class。先看第一种,如下例子://计算值幂次方的函数 在这里表示T是一种类型#include "stdafx.h"#include "iostream"using n原创 2013-06-13 15:04:01 · 459 阅读 · 0 评论 -
cin的使用
简单介绍:cin >> a; ,用于变量输入cin.getline(a,20); a是字符指针, 用于单行输入说明例子:#include "stdafx.h"#include "iostream"using namespace std;int main(int argc, char* argv[]){ char strName[20]; int age;原创 2013-06-07 14:56:12 · 948 阅读 · 0 评论 -
类继承中的this指针
结合如下列子即可:// 成员函数处理不同对象的访问,关键在于成员函数有一个隐藏参数,即this指针#include "stdafx.h"#include "cstdio"#include "iostream"using namespace std;class CAnimal{private: int m_nType;public: void SetType(int原创 2013-06-08 12:26:38 · 819 阅读 · 0 评论 -
类继承中的Object slicing
结合例子如下:#include "stdafx.h"#include "iostream"using namespace std;class Object{public: virtual void Serialize() { cout << "Object::Serialize()\n\n"; }};class CDocment : public Object原创 2013-06-08 18:44:43 · 552 阅读 · 0 评论 -
带默认参数的构造函数
1、在类中声明和定义时,直接写就行,如:class Base{public:Base(int a,int b = 3){number1 = a;number2 = b;}private:int number1;int number2;};2、在类中声明、类外定义时,默认参数不用写,如:Base::Base(int a,int b){number1 = a;n原创 2013-07-08 09:46:28 · 1052 阅读 · 0 评论 -
指针与对象
#include "stdafx.h"#include "iostream"using namespace std;class Test{public: Test(); ~Test(); void Func(char* c);};Test::Test(){ cout << "构造对象" << endl;}Test::~Test(){ cout << "销毁对象原创 2013-08-13 17:10:05 · 664 阅读 · 0 评论 -
BSTR、CString、char*之间的互相转换
1、CString转BSTR使用AllocSysString()实现BSTR bstr;CString str = "hello world";bstr.AllocSysString();SysFreeString(bstr);原创 2016-08-04 17:47:52 · 455 阅读 · 0 评论 -
stack
顾名思义,就是栈。一、作为一种数据结构,具有后进先出的特点。也就是新加入的数据放在最上层,使用的时候最上层的数据先甩出。二、从内存方面来看,通过与heap(堆)得比较来说明stack:有结构,每个区块按照一定次序存放,可以明确知道每个区块的大小,寻址速度快于heap,大小确定heap:没有结构,数据任意存放,大小不确定,可以不断增加每个线程分配一个stack,每个进程分配一个h原创 2013-12-19 16:14:22 · 541 阅读 · 0 评论 -
C++可变参数
老师上来就贴了一段代码。int GetSum( int count, ... ){ va_list ap; va_start( ap, count ); int sum = 0; for( int i = 0; i < count; i++ ) { sum += va_arg( ap, int ); } va_end原创 2018-01-31 14:20:21 · 424 阅读 · 0 评论 -
Day 7: Arrays
题目说明:示例代码:int main(){ int n; cin >> n; vector<int> arr(n); for(int arr_i = 0;arr_i < n;arr_i++){ cin >> arr[arr_i]; } while(n--) { cout&...原创 2018-03-07 12:47:48 · 201 阅读 · 0 评论 -
HackerRank初级篇之Breaking the Records
题目说明:示例代码:// break_records.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <iostream>using namespace std;//by zhaoclint main(){ i...原创 2018-03-07 15:54:59 · 484 阅读 · 0 评论 -
Day 8: Dictionaries and Maps
题目说明:示例代码:// day08_dictionaryOrMap.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <Map>#include <string>#include <iostream>using namespace std;...原创 2018-03-08 18:07:27 · 255 阅读 · 0 评论 -
hackerrank初级篇之simplesum
题目说明:两个整数之和。(简单的不能再简单了)示例代码:// simpleSum.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;int simpleSum( int a, int b ){ retu...原创 2018-03-01 10:05:35 · 833 阅读 · 0 评论 -
hackerrank初级篇之simple ary sum
题目说明:示例代码:// simpleArySum.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <iostream>using namespace std;int simpleArySum( int n, vector...原创 2018-03-01 10:10:06 · 385 阅读 · 0 评论 -
hackerrank初级篇之Compare the Triplets
题目说明:大意就是:三局比赛,赢一局得1分,平局都不得分,最后分别显示得分情况。示例代码:// compareTriplets.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <iostream>using ...原创 2018-03-01 10:18:42 · 656 阅读 · 3 评论 -
hackerrank初级篇之A Very Big Sum
题目说明:示例代码:long aVeryBigSum(int n, vector <long> ar) { // Complete this function long sum = 0; for(int i = 0;i< n;i++) { sum += ar[i]; } return sum;}int main...原创 2018-03-01 10:22:24 · 636 阅读 · 0 评论 -
hackerrank初级篇之Diagonal Difference
题目说明:示例代码:// Diagonal_Difference.cpp: 定义控制台应用程序的入口点。//// 对角线差值//// 比如一个三维数组//// 10 5 20// 5 6 9// 2 4 8//// 10+6+8=24// 20+6+2=28//// |24-28|=4#include "stdafx.h"#include <wi...原创 2018-03-01 10:25:58 · 504 阅读 · 0 评论 -
hackerrank初级篇之Plus Minus
题目说明:大意就是:计算一个数组中正数、负数、零所占比例示例代码:// plus_minus.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <iostream>using namespace std;void plusM...原创 2018-03-01 10:59:18 · 556 阅读 · 0 评论 -
hackerrank初级篇之staircase
题目说明:示例代码:// staircase.cpp: 定义控制台应用程序的入口点。//// n=4// #// ##// ###//####////#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;void staircase( ...原创 2018-03-01 11:41:10 · 652 阅读 · 0 评论 -
hackerrank初级篇之Mini-Max Sum
题目描述:示例代码:// mini_max_sum.cpp: 定义控制台应用程序的入口点。//// give sum which any four of five nums// print mini and max sum//#include "stdafx.h"#include <windows.h>#include <vector>#include...原创 2018-03-01 17:38:26 · 570 阅读 · 0 评论 -
hackerrank初级篇之Birthday Cake Candles
题目说明:示例代码:// birthdayCakeCandles.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <iostream>using namespace std;//by zhaoclint birthday...原创 2018-03-01 18:25:39 · 739 阅读 · 0 评论 -
hackerrank初级篇之Time Conversion
题目说明:示例代码:// timeconversion.cpp: 定义控制台应用程序的入口点。//// 12-h to 24-h//#include "stdafx.h"#include <windows.h>#include <sstream>#include <string>#include <iostream>using n...原创 2018-03-02 10:12:45 · 424 阅读 · 0 评论 -
Day 0: Hello, World.
题目说明:示例代码:int main() { // Declare a variable named 'input_string' to hold our input. string input_string; // Read a full line of input from stdin (cin) and save it to our variable, i...原创 2018-03-02 10:55:57 · 230 阅读 · 0 评论 -
Day 2: Operators
题目说明:示例代码:int main() { double meal_cost; cin >> meal_cost; int tip_percent; cin >> tip_percent; int tax_percent; cin >> tax_percent; double totalCost; ...原创 2018-03-02 11:00:04 · 225 阅读 · 0 评论 -
Day 1: Data Types
题目说明:示例代码:// day01_dataType.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iomanip>#include <sstream>#include <iostream>using namespace std;in...原创 2018-03-02 11:56:53 · 286 阅读 · 0 评论 -
HackerRank初级篇之Grading Students
题目说明:题目解读:38分以下不变,以上每5分为一个等级,进行四舍五入示例代码:// GradingStudents.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;//by zhaoclint main(...原创 2018-03-02 14:32:14 · 726 阅读 · 0 评论 -
HackerRank初级篇之Apple and Orange
题目说明;题目解读:(读懂题目很重要,题目懂了,算法逻辑都很简单了)输入格式:1、给出房子坐标(只有在这个范围内才算落在房子上,才能得分)2、给出apple和orange的坐标(起始位置)3、给出apple和orange数目4、给出apple的每次投掷距离5、给出orange的每次投掷距离示例代码:// apple_orange.cpp: 定义控制台应用程序的入口点。//#include "...原创 2018-03-02 15:17:26 · 773 阅读 · 0 评论 -
HackerRank初级篇之Kangaroo
题目说明:题目解读:输入4个数,分别表示两只袋鼠的起始位置和跳跃步数,求是否能落地同一点代码示例:// kangaroo.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <string>#include <iostream>using namespace st...原创 2018-03-02 16:55:08 · 1110 阅读 · 0 评论 -
Day 9: Recursion
题目说明:示例代码:// Day09_Recursion.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;//by zhaoclint recursion( int n ){ if( n == 1...原创 2018-03-10 12:53:29 · 211 阅读 · 0 评论 -
CStringList判断元素是否存在
简介:CStringList简单实用,以及使用find函数判断是否存在某一元素。提示:#include <afxcoll.h>示例代码:int main(){ CStringList m_strList; m_strList.AddHead("zhaocl"); POSITION pIf = m_strList.Find("zhaocl"); if (pIf == NULL...原创 2018-03-10 17:20:51 · 1262 阅读 · 2 评论 -
Day 10: Binary Numbers
题目说明:题目解读:十进制转二进制示例代码:// Day10_BinaryNumbers.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <string>#include <iostream>using namespace std;//by zhaoclint main(){ int n; ...原创 2018-03-10 17:41:35 · 279 阅读 · 0 评论 -
Day 13: Abstract Classes
题目说明:题目解读:其实就是非常简单的类用法:继承、抽象类示例代码:// Day13_AbstractClasses.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <Windows.h>#include <vector>#include <cstdio>#include <string>...原创 2018-03-18 12:52:08 · 271 阅读 · 0 评论 -
Day 11: 2D Arrays
题目说明:题目解读:给定一个6*6数组,每一个沙漏(7个数字组成)为一组,找出最大值示例代码:int main(){ vector< vector<int> > arr(6,vector<int>(6)); for(int arr_i = 0;arr_i < 6;arr_i++){ for(int arr_j = 0;arr_...原创 2018-03-18 13:17:09 · 1577 阅读 · 0 评论 -
Day 12: Inheritance
题目说明:示例代码:class Student : public Person{public: Student( string fname, string lname, int num, vector<int> score ) : Person( fname, lname, num ) { this->scores = score; }...原创 2018-03-18 13:20:33 · 168 阅读 · 0 评论 -
Day 14: Scope
题目说明:题目解读:给定一个整形数组,找出任意两个元素的最大绝对值解题思路:找出最大值和最小值即可,如果不限制可以直接使用排序函数sort示例代码:// scope.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <vector>#include <algorithm...原创 2018-03-18 13:41:52 · 563 阅读 · 0 评论 -
Day 3: Intro to Conditional Statements
题目说明:示例代码:// day03_ConditionalStatements.cpp: 定义控制台应用程序的入口点。////if else 条件语句简单使用//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;//by zhaoclvoid C...原创 2018-03-05 12:36:08 · 212 阅读 · 0 评论 -
Day 4: Class vs. Instance
题目说明:示例代码:// day04ClassInstance.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;//by zhaoclclass Person{public: int age; ...原创 2018-03-05 14:05:53 · 255 阅读 · 0 评论 -
Day 5: Loops
题目说明:示例代码:// day05_loops.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <iostream>using namespace std;//by zhaoclint main(){ int n; cin >> n;...原创 2018-03-05 14:50:31 · 178 阅读 · 0 评论