新版面向对象c++程序设计
leafinsnowfield
这个作者很懒,什么都没留下…
展开
-
多态性
1绑定是把函数名和函数体关联起来的过程,2静态多态性又叫编译时多态性,即系统在编译时就确定了通过函数名所调用的函数体(早期联边),它通过函数重载实现3动态多态性又叫运行时多态性,编译时无法确定绑定对象,必须等到程序运行时才能关联到需要执行的函数体(滞后联边),虚函数和继承4虚函数用virtual修饰的成员函数,不能是普通函数,在c++中如果在基类中定义了虚函数,那么在其派生类中的同名函原创 2015-04-26 16:53:03 · 354 阅读 · 0 评论 -
eof()
#include using namespace std;char GetChar(istream&in=cin)//从输入流in中跳过空格以获取一字符{ char ch; int a=1; while(!in.eof()&&(ch=in.get())==' ');//先读取到文件结束符再结束 return ch;}int main(){ char ch; cout原创 2015-05-17 17:11:29 · 442 阅读 · 0 评论 -
get()
#include using namespace std;int main(){ char ch; cout<<"输入一行字符:"<<endl; ch=cin.get(); while(ch!='\n') { cout.put(ch); ch=cin.get(); } cout<<endl; system("PAUSE"); return 0;}原创 2015-05-17 17:12:00 · 321 阅读 · 0 评论 -
putback()
#include using namespace std;char GetChar(istream&in=cin){ char ch; while((ch=cin.get())==' '&&in.peek()!=EOF) ; return ch;}int main(){ char ch; char x; ch=GetChar(); while(ch!='\n'&&原创 2015-05-17 17:08:24 · 610 阅读 · 0 评论 -
peek()
#include using namespace std;char GetChar(istream&in=cin){ char ch; while(in.peek()!=EOF&&(ch=cin.get())==' '); //cout<<"ch="<<ch<<endl; return ch;}int main(){ char ch; cout<<"请输入一行字符串:"<原创 2015-05-17 17:10:49 · 679 阅读 · 0 评论 -
第五章作业
第一题:#include //比较3种不同类型数的大小using namespace std;templateType1 GetMax(Type1 x,Type2 y,Type3 z){ cout<<"max:"; if(x>y) { if(x>z) return x; else return z; } else return y;}void mai原创 2015-05-18 16:35:54 · 317 阅读 · 0 评论 -
第七章作业
第一题#include #include #include using namespace std;void main(){ fstream file; char ch; file.open("test.txt",ios::out); char s[20]; cout<<"输入一段最多为19个字符的话语:直到输入为cirl+x结束:"<<endl; cin>>s; fi原创 2015-05-18 16:36:35 · 324 阅读 · 0 评论 -
异常处理8_5
#include #include using namespace std;void MyFunc(void);class CMyException//定义异常类{public: CMyException(){}; ~CMyException(){}; const char *ShowExceptionReason()const { return "CMyExceptio原创 2015-06-01 16:54:37 · 294 阅读 · 0 评论 -
标准类型和类类型之间的类型转化8_3
#include #include using namespace std;//利用指针传值char *TestPointerForwardValue(char *pChar2){ char *pChar=new char[strlen(pChar2)+1]; if(NULL==pChar) { exit(0); } strcpy(pChar,pChar2); retur原创 2015-06-01 16:27:52 · 358 阅读 · 0 评论 -
命名空间8_6
namespace //这里的命名空间没有具体的名字,可以定义没有名字的命名空间,注意{ int Function {;}}#include #include "MyNameSpace.h"#include "YourNameSpace.h"using namespace std;int iNum=10000;//全局变量namespace MyNameSpace{ in原创 2015-06-01 17:26:12 · 397 阅读 · 0 评论 -
getline()
#include using namespace std;int main(){ char s[256]; cout<<"输入一行的字符:"<<endl; cin.getline(s,8); cout<<s<<endl; system("PAUSE"); return 0;}原创 2015-05-17 17:12:05 · 346 阅读 · 0 评论 -
put()
#include using namespace std;int main(){ char s[]="Hello,World!"; for(int i=0;i<strlen(s);i++) cout.put(s[i]);//cout.put(ch)输出单个字符 cout<<endl; system("PAUSE"); return 0;}原创 2015-05-17 17:13:17 · 363 阅读 · 0 评论 -
运算符重载
1运算符重载将赋予已有运算符新含义,并需要明确改运算符的作用域范围。2运算符重载属于静态多态性,整个过程是在编译阶段完成的。3调用位置主要与运算符的作用域相关,在不同的作用域内可能定义了相同的运算符。4运算符重载:c++中一下运算符只能重载为成员运算符:= () 【】 ->5c++中>只能重载为友元函数。成员函数的第一操作数为本类对象,因此当运算符重载为类的成员函数时原创 2015-05-01 22:32:26 · 360 阅读 · 0 评论 -
关于继承方式
1公有继承:在公有继承方式下,基类的公有和保护成员在派生类中仍然是公有和保护成员,可以由派生类的成员函数来访问 。派生类对象可以访问公有的成员;至于基类的私有成员,无论派生类的成员函数还是派生类对象都无法访问。2私有继承:当继承方式为private时,即表示私有继承。在私有继承方式下,基类所有的非私有成员在派生类中一律变成私有成员,派生类只能通过它的函数来访问,派生类对象不能访问;至于原创 2015-05-01 15:53:41 · 347 阅读 · 0 评论 -
第二章的作业
第2章第5题#include "2_5CInteger.h"void main(void){ CInteger c(5),d(10),sum; cout<<"c的value"<<c.GetValue()<<endl;//主意函数有括号 cout<<"c的value"<<d.GetValue()<<endl; sum.AddValue(c,d); cout<<"总和:"<<sum.原创 2015-05-01 21:52:41 · 316 阅读 · 0 评论 -
第四章作业
4_1#ifndef _SCLASS4_1_CEMPLOYEE_H_#define _SCLASS4_1_CEMPLOYEE_H_#include using namespace std;class CEmployee{public: CEmployee(float salary=2000) { m_salary=salary; } virtual ~CEmploye原创 2015-05-01 22:14:50 · 307 阅读 · 0 评论 -
第三章作业
3_5#include "sclass3_5_CPerson.h"void CPerson::Show()const{ cout<<"name="<<m_name<<endl; cout<<"age="<<m_age<<endl; cout<<"sex="<<m_sex<<endl; cout<<"address="<<m_address<<endl; cout<<"teleph原创 2015-05-01 21:56:30 · 356 阅读 · 0 评论 -
第四章作业补+排序+查询
main主程序中#include #include "sclass4_11_Node.h"int CNode::sNodeNum=0;void main(){ int now; int k; cout<<"1*************************************************."<<endl;//主要观察拷贝构造函数和new以及delete的作用原创 2015-05-16 23:20:42 · 259 阅读 · 0 评论 -
第四章作业补
main程序#include #include "sclass4_11_Node.h"int CNode::sNodeNum=0;void main(){ cout<<"1*************************************************."<<endl;//主要观察拷贝构造函数和new以及delete的作用 CNodeArray oCNA1; {原创 2015-05-16 14:52:05 · 286 阅读 · 0 评论 -
第四章作业 结点指针的回收又利用+排序+查找
main中#include #include "sclass4_11_Node.h"int CNode::sNodeNum=0;void main(){ int now; int k; cout<<"1*************************************************."<<endl;//主要观察拷贝构造函数和new以及delete的作用 CNo原创 2015-05-17 00:08:02 · 297 阅读 · 0 评论 -
8_1
#include #include using namespace std;const int LEN=5;class CNode{public: CNode(int value =0); void Print()const;private: int m_value;};CNode::CNode(int value):m_value(value){ ;}void原创 2015-05-27 19:26:19 · 371 阅读 · 0 评论 -
第八章作业
#include "CMyString.h"//CMyString.cppusing namespace std;CMyString CMyString::operator+(CMyString &obj){ cout<<"重载运算符+"<<endl; char *p=new char[m_length]; for(int k=0;k<m_length;k++) p[k]=m_p[原创 2015-06-03 21:45:25 · 343 阅读 · 0 评论