- 博客(47)
- 收藏
- 关注
原创 二进制文件写读?
#include#includeusing namespace std;typedef struct PAYROLL{ char name[30]; double salary;}payroll;int main(){ payroll pay1; strcpy(pay1.name,"john"); pay1.salary=8000; ofstream outfile;
2013-06-10 16:59:29
546
转载 c++文件操作
基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。 一、流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct { int level; /* fill/empty level of buffer */ unsign
2013-06-07 11:06:11
627
转载 cin.getline()和cin.get()
1、用getline()读取输入行1)当程序使用cin输入时,cin用空白符合行结束符将各个值分开。 2)如根据所需输入的值,可能需要读取一整行文本,则用getline()。 3) getline的功能是从输入流读取对个字符,并允许指定输入终止字符,读取完成后,从读取的内容中删除终止字符。如:char line[100] cin.getline(line,100,'t
2013-06-06 19:51:29
949
转载 重载输入>>,输出<<操作符
1、istream& operator>>(istream& stream,className& obj) {return stream;}2、ostream& operator {return stream;}#includeusing namespace std;class coord1{ int x; int y;public: coord1
2013-06-06 15:09:16
606
原创 重载year++,基本功能
#include#includeusing namespace std;class YEARCLASS{ int day; int month; int year;public: YEARCLASS() { year=0;month=0;day=0; } YEARCLASS(int y,int m,int d) { year=y;month=m;day=d; }
2013-06-05 23:04:43
569
原创 重载CLOCK类的++,--操作
#includeusing namespace std;class CLOCK{ int second; int minute; int hour;public: CLOCK() { second=0;minute=0;hour=0; } CLOCK(int h,int m,int s) { second=s; minute=m; hour=h; } ~
2013-06-05 12:28:15
839
原创 虚基类,指向基类的指针,待删除
#include#includeusing namespace std;class PEOPLE{public: PEOPLE() { ID=0; name=""; age=0; } PEOPLE(int id,string strname,int iage) { ID=id; name=strname; age=iage; } ~PEOPLE(){
2013-06-04 19:14:17
567
转载 c++链表2
【双向链表】①.建立一个双向链表?1 typedef struct DbNode2 {3 int data; //节点数据4 DbNode *left; //前驱节点指针5 DbNode *right; //后继节点指针6 }
2013-06-04 15:59:45
510
转载 C++链表1
#include #include struct Node { int num ; Node *next ; };Node* Create() //链表创建 { int n=0; Node *p1,*p2,*head; p1=p2=new Node; cin>>p1->num; head=NULL; whil
2013-06-04 15:56:50
589
原创 友元实现point+point
#includeusing namespace std;class point11{ int x;int y;public: point11() { x=0;y=0; } point11(int ix,int iy) { x=ix; y=iy; } friend point11 operator +(const point11& pt1,const point1
2013-06-03 13:28:39
738
原创 8-7对point重载++,--
#includeusing namespace std;class point1{ int x;int y;public: point1(int ix=0,int iy=0) { x=ix; y=iy; } int getx() { return x; } int gety() { return y; } point1 operator++(); p
2013-06-03 11:58:27
1265
1
原创 shape派生circle,rectangle,square
#include//不正确代码。。using namespace std;const double PI=3.1415926;class shape{public: virtual double getArea() { return -1; } virtual double getPerimeter() { return -1; }};class circle:p
2013-06-02 16:44:39
1184
转载 抽象类
抽象类的一般形式带有纯虚函数的类称为抽象类:class 类名{virtual 类型 函数名(参数表)=0;//纯虚函数。。。。。。}1、抽象类为抽象和设计的目的而建立,讲有关的数据和行为组织在一个继承层次中,保证派生类具有要求的行为。2、对于暂时无法实现的函数,可以声明为纯虚函数留给派生类去实现。抽象类只能作为基类来使用。不能声明抽象类的对象,但
2013-06-02 15:37:07
535
转载 操作符重载的两种形式
操作符重载的两种形式:1、重载为类成员函数2、重载为友元函数一、运算符形式1、声明形式函数类型 operator 运算符(形参){。。。。。。。。}2、重载为类成员函数时参数个数=原操作数个数-1(后置++、--除外)3、重载为友元函数时 参数个数=原早作数个数,且至少应该有一个自定义类型的形参。4、双目运算符 B1)如果要重载B的类成员函数
2013-06-02 14:07:32
1194
转载 指向基类的指针,同名函数调用,引入虚函数。
#includeusing namespace std;class A{public: void fun() { cout<<"fun of A be called"<<endl; }};class B:public A{public: void fun() { cout<<"fun of B be called"<<endl; }};class C:pub
2013-06-01 20:04:54
634
转载 虚基类及其派生类的构造函数
1。建立对象时所指定的类称为最远派生类。2。虚基类的成员是由最远派生类的构造函数通过调用虚基类的构造函数进行初始化的。3。在整个继承结构中,直接或间接继承虚基类的所有派生类,都必须在构造行数的成员 初始化表中给出对虚基类的构造函数的调用。如果未列出,则表示调用该虚基类的缺省构造函数。4。在建立对象时,只有最远派生类的构造函数调用虚基类的构造函数,该派生类的其他基类对虚基类
2013-06-01 19:39:01
2284
转载 虚基类解决二义性?
#includeusing namespace std;class B0//声明基类B0{public://外部接口 int nV; void fun(){cout<<"Member of B0"<<endl;} };class B1:virtual public B0//B0为虚基类,派生B1类{public://新增外部接口 int nV1;};class B2:v
2013-06-01 16:51:01
921
原创 同名覆盖
#includeusing namespace std;class aa{public: aa(){ } void fun() { cout<<"aa类的fun函数被调用"<<endl; } void ff() { cout<<"aa类的ff函数被调用"<<endl; }};class bb:public aa{public: bb() { } vo
2013-06-01 16:18:20
834
转载 对象赋值与复制
1 对象的赋值如果对一个类定义了两个或多个对象,则这些同类的对象之间可以互相赋值,或者说,一个对象的值可以赋给另一个同类的对象。这里所指的对象的值是指对象中所有数据成员的值。对象之间的赋值也是通过赋值运算符“=”进行的。本来,赋值运算符“=”只能用来对单个的变量赋值,现在被扩展为两个同类对象之间的赋值,这是通过对赋值运算符的重载实现的。实际这个过程是通过成员复制来完成的,即将一个对象的成员
2013-06-01 14:40:47
617
原创 sizeof 计算指针和数组
#includeusing namespace std; int main() {int a[10]={1,2,3,4,5,6,7,8,9,0}; cout<<sizeof(a)/sizeof(a[0])<<endl;//...40/4=10 int* b=new int[10]; cout<<sizeof(b)<<endl;//=4 char* c=new char[2
2013-06-01 10:22:35
658
转载 扩展练习4(学生类设计).设计一个友元函数,按照成绩从高到低的顺序输出姓名、学号和成绩信息
#includeusing namespace std;class CStudent{private: int id_,math_,forlan_,computer_; char *name_;public: CStudent(int id=0,char *name=" ",int math=0,int forlan=0,int computer=0):id_(id),name_(n
2013-06-01 09:45:53
4924
转载 c++继承时的构造函数
1。单继承时构造函数派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数){本类成员初始化赋值语句;};2。多继承时构造函数派生类名::派生类名(基类1形参,基类2形参,。。。。基类n形参,本类形参):基类名1(参数),基类名2(参数),。。。。基类名n(参数){本类成员初始化赋值语句;};3。多继承且有内嵌对象时构造函数派生类名::派生类名
2013-05-30 21:59:47
833
转载 c++的三种继承方式
一。公有继承(pulbic)1。基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可以访问。2。派生类中的成员函数可以直接访问基类中的public和protect成员,但不能访问基类中的private成员。3。通过派生类的对象只能访问基类的public成员二。私有继承(private)1。基类的public和protected成
2013-05-30 11:29:17
508
转载 STL中: string、vector、list、deque、set、map 的区别(转)
在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vector、list、deque、set 是有序
2013-05-29 14:20:04
534
转载 STL中的常用的vector,map,set,sort, list用法笔记(转)
C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。.一. vector1.声明: 一个vector类似于一个动态的一维数组。 vector a; //声明一个元素为int类型的
2013-05-29 14:18:51
835
转载 stl总结(转)
STL(Standard Template Library)是C++标准庫的一部分(80%),是用C++ Template机制来表达泛型的庫。STL,成功的将算法与数据结构分离,在没有效率损失的前提下,得到了及大的弹性。六大组件容器(Container)算法(Algorithm)迭代器(Iterator)仿函数(Function object)适配器(Adapt
2013-05-29 14:18:01
469
转载 字符串
Visual C++.NET涉及到ATL/ATL Server、MFC和托管C++等多种编程方式,不仅功能强大而且应用广泛。在编程中,我们常常会遇到ANSI、Unicode以及BSTR不同编码类 型的字符串转换操作。本文先介绍基本字符串类型,然后说明相关的类,如CComBSTR、_bstr_t、CStringT等,最后讨论它们的转换方法, 其中还包括使用最新ATL7.0的转换类和宏,如CA2CT、
2013-05-29 14:15:58
565
原创 strcpy函数
#include#include using namespace std;char* strcopy(char *dest,const char* source){ assert(source!=NULL); char* re=dest; while(*dest++=*source++) { // dest++; // source++; } return re;}in
2013-05-28 16:14:36
535
原创 strcat
#includeusing namespace std;char* stringcatQ(char* b1,char* b2){ int length1,length2; length1=strlen(b1); length2=strlen(b2); char* c=new char[length1+length2+1]; for(int i=0;i<length1;i++)
2013-05-27 20:57:32
505
转载 基于STL的学生信息管理
论坛上看到的,拿来学学stl= =//基于STL的学生信息管理#include using namespace std;#include #include #include #include class student{public: student(string name, string id, float ag):m_sName(name), m_sID(id), m_
2013-05-27 17:39:25
1047
转载 例题6-20,实参为指针数组
#includeusing namespace std;class point32{private: int x; int y;public: point32(int ix,int iy) { x=ix; y=iy; } int getx() { return x; } int gety() { return y; } ~point32() {
2013-05-25 11:54:52
575
转载 什么是函数指针
第一部分 什么是函数指针一个指针变量,可以指向一个 int类型变量,可以指向一个常量字符串,可以指向一个指针变量或者一个函数。那么,什么是函数指针,他有什么作用?我们如何使用他 …1.1 函数指针概念指针函数是指向函数的指针,是变量。 C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变
2013-05-24 17:19:54
586
转载 例题6.3
#includeusing namespace std;int main(){ char key[5]={'b','c','a','d','e'}; char c; int numcorrect=0,ques=0; while(cin.get(c)) { if(c!='\n') { if(c==key[ques]) { numcorrect++;
2013-05-24 14:47:44
478
原创 从1-49选6个不同的数,输出5组(二)有错?
#include#include#includeusing namespace std;int main(){srand( (unsigned)time(NULL) );vector array11;vector ::iterator Iter;int n=5;while(n--){for(int i=1;i<=49;i++){array11.push_back(i)
2013-05-23 18:36:57
812
原创 从1-49选6个不同的数,输出5组(一)
#include#include#includeusing namespace std;int main(){int seed[6]={0}; int n=5;srand( (unsigned)time( NULL ));//产生种子,不要放在循环语句里!loop1:while(n){for(int i=0;i{ s
2013-05-23 10:29:16
1333
转载 cin、cin.get()、cin.getline()、getline()、gets()
cin、cin.get()、cin.getline()、getline()、gets()等函数的用法学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息;1、cin1、cin.get()2、cin.getline()3、getline
2013-05-16 17:30:15
426
原创 --n,n--在while语句中的用法
#includeusing namespace std;int main(){int count=0,n=6;while(--n){count++;n--;}cout}注意--n和n--的区别,--n是n先减1再判断,n--是先判断在减少1.while判断取值为 5,3,1,-1,-3.。。。。。。。。。。。。永远取不到0,不为0,就
2013-05-16 13:38:51
862
转载 getch,getche,getchar
getchar目录函数名功能用法注解程序例编辑本段函数名getchar编辑本段功能从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。编辑本段用法该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。如:#includeint ge
2013-05-14 10:26:56
651
原创 判断一年的第几天
#includeusing namespace std;int days(int year,int month,int day);int main(){int YEAR,MONTH,DAY,Totalday;cin>>YEAR>>MONTH>>DAY;Totalday=days(YEAR,MONTH, DAY);coutreturn 0;}int
2013-05-13 10:39:46
546
转载 VC ADO dataGrid 数据库动态绑定
今天学习了一下ADO datagrid。其实没打算学习ADO,由于想做个表格,用了FlexGrid控件,发现不能选择不连续的多行。于是在网上寻找,datagrid可以,于是去找相关资料,发现datagrid全都是连接数据库,虽然不能满足我的要求,但还是学习了一下用ADO绑定数据库,在通过与datagrid绑定进行数据库信息显示。现总结如下,第一次写博客,献丑了。 新建一个基于对话框
2013-05-01 13:56:04
643
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人