c++
taojYang
爱好者,学习,奋斗
展开
-
c++——模板中的非类型参数
#include<iostream>using namespace std;//在函数模板中使用非类型参数template<class T>void Swap(T &a, T &b);template<typename T, unsigned N>void Swap(T (&a)[N],T (&b)[N]);template<typename T, unsigned N>void printArray(T (&原创 2020-08-30 17:03:43 · 935 阅读 · 0 评论 -
c++——类模板的显示(部分)具体化
#include<iostream>using namespace std;//类模板的显示具体化//类模板template<class T1, class T2> class Point{public: Point(T1 x, T2 y) :m_x(x), m_y(y){}public: T1 getX() const { return m_x; } void setX(T1 x){ m_x = x; } T2 getY()const { return m_原创 2020-08-30 15:37:41 · 653 阅读 · 1 评论 -
c++——函数模板的显示具体化
#include<iostream>#include<string>using namespace std;typedef struct{ string name; int age; float score;} STU;//函数模板template<class T> const T& Max(const T& a,const T& b);//函数模板的显示具体化(针对STU类型的显示具体化)template<>原创 2020-08-27 19:32:07 · 309 阅读 · 1 评论 -
c++——函数模板重载
#include<iostream>using namespace std;//函数模板的重载template <class T>void Swap(T &a, T&b);template <typename T> void Swap(T a[], T b[], int len);void printArray(int arr[],int len);int main(){ int m = 10, n = 90; Swap(m, n);原创 2020-08-27 17:47:19 · 211 阅读 · 0 评论 -
C++——template入门
#include <iostream>using namespace std;//template casetemplate<class T1,class T2>class Point{public: Point(T1 x, T2 y) :m_x(x), m_y(y){}public: T1 getX() const; void setX(T1 x); T2 getY() const; void setY(T2 y);private: T1 m_x;//原创 2020-08-27 11:40:51 · 199 阅读 · 0 评论 -
c++——获取类型信息
c++获取类型信息#include<iostream>#include<typeinfo>using namespace std;class Base{};struct STU{};//void print(string name,string raw_name,string hash_code){// cout<<name<<" | "<<raw_name<<" | "<<hash_code<<原创 2020-08-12 16:09:44 · 673 阅读 · 0 评论 -
C++——虚函数
析构函数声明为虚函数#include <iostream>using namespace std;class Base{public: Base(); virtual ~Base();//声明为virtual,保证调用子类的析构函数,释放内存空间protected: char *str;};Base::Base(){ str = new char[100]; cout<<"Base contructor"<<endl;}Base::~Ba原创 2020-08-12 10:59:00 · 206 阅读 · 0 评论 -
c++——运算符重载
一,实例operator+#include"pch.h"#include<iostream>using namespace std;//+运算法重载class Box {public: double getVolume(void) { return length * breadth*height; } void setLength(double len) {...原创 2019-11-20 11:45:45 · 127 阅读 · 0 评论 -
c++——动态内存分配
一、new,deleteC++ 程序中的内存分为两个部分:栈:在函数内部声明的所有变量都将占用栈内存。堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存。#include"pch.h"#include<iostream>using namespace std;int main() { double *pvalue = NULL;//初始化为null的指针 p...原创 2019-11-19 11:56:05 · 139 阅读 · 0 评论 -
c++——文件的写入,读取
#include "pch.h"#include<fstream>#include <iostream>using namespace std;int main() { char data[100]; //以写模式打开文件 ofstream outfile; outfile.open("d://test/test01.txt"); cout &l...原创 2019-11-15 16:36:04 · 169 阅读 · 0 评论 -
c++——c文件操作(读取、写入)
写入#include"pch.h"#include <iostream>#pragma warning(disable:4996)//确保fprintf()函数可正常使用using namespace std;int main() { FILE *fp = NULL;//文件指针 fp = fopen("d://test/test01.txt","w+");//以可...原创 2019-11-15 15:54:15 · 231 阅读 · 0 评论 -
c++——数据封装(隐藏)
封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引申出了另一个重要的 OOP 概念,即数据隐藏。数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。#include "pch.h"#include <iostream>using names...原创 2019-11-14 16:36:16 · 1361 阅读 · 0 评论 -
c++——数据抽象
数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。优势数据抽象有两个重要的优势:类的内部受到保护,不会因无意的用户级错误导致对象状态受损。类实现可能随着时间的推移而发生变化,以便应对不断变化的需求,或者应对那些要求不改变用户级代码的错误报告。#include "pch.h"#include...原创 2019-11-14 16:26:54 · 190 阅读 · 0 评论 -
c++——多态
#include"pch.h"#include<iostream>using namespace std;class Shape {protected: int width, height;public: Shape(int a=0,int b=0) { width = a; height = b; } virtual int area() {//虚函...原创 2019-11-14 16:17:30 · 94 阅读 · 0 评论 -
c++——类
#include <iostream>using namespace std;class Box {public : double length; double breadth; double height; //成员函数声明 double getVolume(void); void setLength(double len); void setBreadth...原创 2019-09-24 12:53:47 · 66 阅读 · 0 评论 -
c++——构造函数与析构函数
#include<iostream>using namespace std;class Line {public: void setLength(double len); double getLength(void); Line(double len); ~Line();private: double length;};Line::Line(double ...原创 2019-09-24 14:36:29 · 99 阅读 · 0 评论 -
c++——构造函数初始化顺序()
#include<iostream>using namespace std;class Student1 {public: int a; int b; void fprint() { cout << "a = " << a << " " << "b = " << b << endl; } ...原创 2019-09-24 15:29:29 · 336 阅读 · 0 评论 -
c++——拷贝构造函数
#include<iostream>using namespace std;class Line {public : int getLength(void); Line(int len); Line(const Line &obj); ~Line(); private: int *ptr;};//成员函数定义Line::Line(int len)...原创 2019-09-24 16:42:45 · 91 阅读 · 0 评论 -
c++——友元函数
#include <iostream>using namespace std;class Box { double width;public: friend void printWidth(Box box); void setWidth(double wid); friend class BigBox;};class BigBox {public : v...原创 2019-09-24 16:56:15 · 82 阅读 · 0 评论 -
c++——this指针
#include <iostream>using namespace std;class Box {public: Box(double l=2.0,double b=2.0,double h=2.0) { cout << "constructor called." << endl; length = l; breadth = b;...原创 2019-09-27 10:00:46 · 79 阅读 · 0 评论 -
c++——指向类的指针
#include<iostream>using namespace std;class Box {public: Box(double l=2.0,double b=2.0,double h=2.0) { cout << "constructor called" << endl; length = l; breadth = b; ...原创 2019-09-27 10:15:58 · 314 阅读 · 0 评论 -
c++——静态成员静态函数
#include<iostream>using namespace std;class Box {public: static int objectCount; Box(double l=2.0,double b=2.0,double h = 2.0) { cout << "constructor called." << endl; l...原创 2019-09-27 10:55:58 · 114 阅读 · 0 评论 -
c++——继承
#include <iostream>using namespace std;class Shape {public: void setWidth(int w) { width = w; } void setHeight(int h) { height = h; }protected: int width; int height;};cl...原创 2019-09-27 11:50:41 · 93 阅读 · 0 评论 -
c++——重载函数
#include<iostream>using namespace std;//重载函数class PrintData {public: void print(int i) { cout << "整数为:" << i << endl; } void print(double f) { cout << "浮点数为:...原创 2019-09-27 11:57:50 · 116 阅读 · 0 评论 -
c++试题
#include<iostream>using namespace std;int main() { int i, a[4] = {2,3,4,5},*pa; pa = a; for (i = 0; i < 4;i++) { *pa *= *pa;//元素的平方复制给各元素 printf("a[%d] = %d\n",i,a[i] ); pa++; }...原创 2019-10-08 17:18:36 · 229 阅读 · 0 评论 -
C++——数据结构
#include<iostream>#include<cstring>using namespace std;//c99标准struct Books { char title[50]; char author[50]; char subject[100]; int book_id;};int main() { void printBook(s...原创 2019-09-24 11:31:58 · 184 阅读 · 0 评论