📄 testsubclass.cpp
字号:
// TestSubClass.cpp : Defines the entry point for the console application.
//
// TestClass.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
class string{
private:
int length; //私有数据成员,保存字符串长度
char content[255]; //私有数据成员,保存字符串内容
public:
string(); //构造函数,初始化对象
~string(){}; //空的析构函数
int get_length(){return length;} //返回字符串长度
char *get_content(){return content;} //返回字符串内容
int set_content(char *in_content); //设置字符串内容的函数原型
};
string::string(){
for(int i=0;i<=255;i++)
content[i]='\0';
length=0;
}
int string::set_content(char *in_content){ //设置字符串内容函数的具体实现
int i;
for(i=0;in_content[i]!='\0';i++){
content[i]=in_content[i];
}
length=i+1;
return 1;
}
//创建派生类substring
class substring: public string{
public:
int set_content(int n,char *in_content);//重载基类成员函数
int set_content(char *in_content){
string::set_content(in_content);
return 1;
};
int get_substr(int start,int end,char *p);
};
//实现派生类成员函数
int substring::set_content(int n,char *in_content){
//若输入字符串长度大于n,则多余字符被截断
//若输入字符串长度小于等于n,则只接受输入的字符串
int i,ll=0;
char p[255];
for(i=0;i<255;i++){
p[i]='\0';
}
for(i=0;in_content[i]!='\0';i++){
if (ll==n)
break;
++ll;
p[i]=in_content[i];
}
string::set_content(p);//调用基类的函数设置字符串内容
return 1;
}
int substring::get_substr(int start,int end,char p[]){
char *substr;
int i,ll;
substr=string::get_content();//调用基类的函数或获得字符串内容
for(i=0;substr[i]!='\0';i++){//复制字符串
++ll;
if (ll==end)
break;
p[i]=substr[i];
}
return 1;
}
int main(int argc, char* argv[]) //在main函数中使用自定义类string
{ char p[255];
for(int i=0;i<255;i++)//初始化p,c字符串以'\0'结束
p[i]='\0';
substring name;//声明类变量
name.set_content("Mike Tomes"); //设置字符串内容
name.get_substr(5,5,p) ;
cout<<p<<"\n";
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -