VC++基础知识点举例.docx
- 文档编号:10958187
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:24
- 大小:238.50KB
VC++基础知识点举例.docx
《VC++基础知识点举例.docx》由会员分享,可在线阅读,更多相关《VC++基础知识点举例.docx(24页珍藏版)》请在冰豆网上搜索。
VC++基础知识点举例
VC++基础知识点举例
1.带默认参数的成员函数
源代码
#include
usingnamespacestd;
#include"Tdate.h"
classTdate
{
private:
intmonth;
intday;
intyear;
public:
voidset(intm=5,intd=16,inty=1991)
{
month=m;day=d;year=y;
}
voidprint()
{
cout< } Tdate(); virtual~Tdate(); }; #include"stdafx.h" voidmain() { Tdatea,b,c; a.set(4,12,1996); b.set(3); c.set(8,10); a.print(); b.print(); c.print(); } 2.重载成员函数举例 源代码 #include usingnamespacestd; #include"cube.h" classcube { private: intheight,width,depth; public: intvolume(intht,intwd) { returnht*wd; } intvolume(intht,intwd,intdp) { height=ht; width=wd; depth=dp; returnheight*width*depth; } cube(); virtual~cube(); }; #include"stdafx.h" //#include"cube.h" //#include //usingnamespacestd; voidmain() { cubecube1; cout< cout< } 3.含有对象成员的类的构造函数和析构函数的调用顺序举例 源代码 #include usingnamespacestd; #include"A.h" #include"B.h" classB { public: B(); virtual~B(); }; B: : B() { cout<<"DefineaB"< } B: : ~B() { cout<<"DestructingaB"< } #include"B.h" classA { private: BobjectB; public: A(); virtual~A(); }; A: : A() { cout<<"DefineaA"< } A: : ~A() { cout<<"DestructingaA"< } #include"stdafx.h" voidmain() { AobjectA; } 4.对象数组 源代码 #include usingnamespacestd; #include"A.h" classA { public: A(); virtual~A(); }; A: : A() { cout<<"DefineaObject"< } #include"stdafx.h" voidmain() { AObject[5]; } 5.类的继承与派生 源代码 #include usingnamespacestd; #include"Person.h" #include"Teacher.h" #include"Student.h" classPerson { protected: charname[20],sex[20]; intage; public: Person(char*na,char*se,intag) { strcpy(name,na); strcpy(sex,se); age=ag; cout<<"ThisistheclassofPerson"< } voidShow() { cout<<"Name: "< <<"Sex: "< <<"Age: "< } virtual~Person() { cout<<"DestructingtheclassofPerson"< } }; classTeacher: publicPerson { private: charsubject[20]; intsalary; public: Teacher(char*na,char*se,intag,char*su,intsa): Person(na,se,ag) { strcpy(subject,su); salary=sa; cout<<"ThisistheclassofTeacher"< } voidShow() { Person: : Show(); cout<<"Subject: "< <<"Salary: "< } virtual~Teacher() { cout<<"DestructingtheclassofTeacher"< } }; classStudent: publicPerson { private: charnumber[20],clvss[20]; public: Student(char*na,char*se,intag,char*nu,char*cl): Person(na,se,ag) { strcpy(number,nu); strcpy(clvss,cl); cout<<"ThisistheclassofStudent"< } voidShow() { Person: : Show(); cout<<"Number: "< <<"Class: "< } virtual~Student() { cout<<"DestructingtheclassofStudent"< } }; #include"stdafx.h" voidmain() { PersonPer("张三","男",26); TeacherTea("李四","男",31,"数学",3000); StudentStu("王六","女",18,"1996302856","电子仪器 (1)班"); Per.Show(); Tea.Show(); Stu.Show(); } 6.友元函数的定义与使用 源代码 #include usingnamespacestd; #include"Student.h" #include"Score.h" classStudent { private: charname[10],number[10]; friendvoidShow(Student&st) { cout<<"Name: "< <<"Number: "< } public: Student(char*na,char*nu) { strcpy(name,na); strcpy(number,nu); } virtual~Student(); }; classScore { private: intmat,phy,eng; friendvoidShowAll(Student&,Score*); public: Score(intm,intp,inte): mat(m),phy(p),eng(e) {} virtual~Score(); }; #include"stdafx.h" voidmain() { StudentTanlin("张三","1996302856"); ScoreSscore(82,90,81); ShowAll(Tanlin,&Sscore); } voidShowAll(Student&st,Score*sc) { Show(st); cout<<"Mathematics: "< <<"Phyics: "< <<"English: "< } 7.静态数据的使用 源代码 #include usingnamespacestd; #include"A.h" classA { private: staticinti; public: A(){i++;} intlist(){returni;} virtual~A(); }; intA: : i=0;//静态成员的初始化应放在某一个源文件(.cpp)中 #include"stdafx.h" voidmain() { Aa1,a2,a3; cout< } 8.用成员函数重载运算符 源代码 #include usingnamespacestd; #include"RMB.h" classRMB { private: intyuan,jf; public: RMB(inty,intj): yuan(y),jf(j) {} RMBoperator+(RMB&r) { intj=jf+r.jf; inty=yuan+r.yuan; RMBresult(y,j); returnresult; } RMBoperator++() { if(jf>=100){ jf-=100; yuan++; } return*this; } voidshow(){cout<<(yuan+jf/100.0)< }; #include"stdafx.h" voidmain() { RMBObj1(1,60); RMBObj2(2,50); RMBObj3(0,0); Obj3=Obj1+Obj2; ++Obj3; Obj3.show(); } 9.引用虚函数举例 源代码 #include usingnamespacestd; #include"Base.h" #include"Derive1.h" #include"Derive2.h" classBase { public: voidwho() {cout<<"ThisistheclassofBase"< }; classDerive1: publicBase { public: voidwho() {cout<<"ThisistheclassofDerive1"< }; classDerive2: publicBase { public: voidwho() {cout<<"ThisistheclassofDerive2"< }; #include"stdafx.h" voidmain() { BaseObject,*p; Derive1Object1; Derive2Object2; p=&Object; p->who(); p=&Object1; p->who(); ((Derive1*)p)->who(); p=&Object2; p->who(); ((Derive2*)p)->who(); Object1.who(); Object2.who(); } 10.虚函数举例 源代码 #include usingnamespacestd; #include"Base.h" #include"Derive1.h" #include"Derive2.h" classBase { public: virtualvoidwho() {cout<<"ThisistheclassofBase"< }; classDerive1: publicBase { public: voidwho() {cout<<"ThisistheclassofDerive1"< }; classDerive2: publicBase { public: voidwho() {cout<<"ThisistheclassofDerive2"< }; #include"stdafx.h" voidmain() { BaseObject,*p; Derive1Object1; Derive2Object2; p=&Object; p->who(); p=&Object1; p->who(); ((Derive1*)p)->who(); p=&Object2; p->who(); ((Derive2*)p)->who(); Object1.who(); Object2.who(); } 注意比较实验9与实验10运行结果的不同之处 11.计算三角形的面积(使用MFC) 源代码 #include voidCMFCDlg: : OnButton1() { //TODO: Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); floats; s=(m_a+m_b+m_c)/2; m_result=(float)sqrt(s*(s-m_a)*(s-m_b)*(s-m_c)); UpdateData(FALSE); } voidCMFCDlg: : OnButton2() { //TODO: Addyourcontrolnotificationhandlercodehere CDialog: : OnOK(); } 具体实现过程 打开VC++6.0应用程序 1.建立该应用程序 文件→新建→工程→MFCAppWizard(exe)→输入工程名称→点击确定 选择“基本对话框”,并点击完成 2.程序界面的设计 可清除“确定”、“取消”等自动生成按钮,根据需要添加“静态文本框”、“编辑框”、“命令按钮”等 3.给成员变量添加说明 选择IDC_EDIT1,点击AddVariable 设定成员变量名,选择成员变量类型 用相同的方法给编辑框2,3,4设定成员名和类型 4.给控件添加链连接代码 在对话框中按下Ctrl键的同时双击要链接代码的控件(本题中为“计算”,“退出”按钮),并定义函数体的内容(实验代码上文已给出) 5.调试运行实现该程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 基础 知识点 举例