您的位置:首页 > 编程语言 > C语言/C++

c++学习笔记十三

2015-10-08 13:24 302 查看
31、多态性和虚函数

多态性:发出同样的消息被不同类型的对象接受导致完全不同的行为;

多态可分为:静态多态性与动态多态性;

动态多态性必须存在于继承的环境中;

在类中,构造函数可以重载,普通成员函数也可以重载;构造函数重载给

初始化带来了多种方式,为用户提供了更大的灵活性。

#include<iostream.h>

#include<string.h>

class string

{

public:

string(char *s);

string(string &s1);

string(int size=80);

~string() { delete sptr; }

int GetLen() { return length; }

void Print() { cout<<sptr<<endl; }

private:

char *sptr;

int length;

};

string::string(char *s)

{

length=strlen(s);

sptr=new char[length+1];//将它拷贝到私有成员变量数组中去

strcpy(sptr,s);

}

string::string(string &s1)

{

length = s1.length;

sptr = new char[length + 1];

strcpy(sptr,s1.sptr);

}

string::string(int size)

{

length = size;

sptr = new char[length + 1];

*sptr = '\0';

}

void main()

{

string str1("This is a string.");//“This is a string.”是一个string类型.

str1.Print();

cout<<str1.GetLen()<<endl;
//

char *s1 = "This is a program.";

string str2(s1);

string str3(str2);

str3.Print();

cout<<str3.GetLen()<<endl;

}

总结:a.“This is a program”是一个string类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: