⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsubclass.cpp

📁 < Visual C++数据库经典开发实例精解>>的实例源码
💻 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 + -