1. 程式人生 > >C++面向物件程式設計50道程式設計題(第19題)

C++面向物件程式設計50道程式設計題(第19題)

C++面向物件程式設計50道程式設計題(第19題)

摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。
  本專輯為程式設計入門者、高校計算機軟體專業學習或複習提供C++程式設計題庫。
  讀者請先獨立思考哦,再與參考程式進行比對檢查。

一、問題描述

在這裡插入圖片描述

二、考察內容

  基本面向物件概念,如何建立類、物件,對類私有資料成員和公有成員函式的理解,簡單的字串處理。

三、難度等級

難度等級:★★☆☆☆

四、參考程式

#include <iostream.h>
#include <string.h>
class STR{
	char *s;
	int yn;
public:
	STR(char *t)
	{
		s=new char[strlen(t)+1];
		strcpy(s,t);
	}
	int alph(char c)
	{
		if(c>='a'&&c<='z')
			return 1;
		if(c>='A'&&c<='Z')
			return 1;
		return 0;
	}
	int num(char c)
	{
		if(c>='0'&&c<='9')
			return 1;
		return 0;
	}
	void fun();
	void print()
	{
		cout<<s;
		if(yn)
			cout<<"  是一個合法的識別符號!\n";
		else 
			cout<<"  不是一個合法的識別符號\n";
	}
	~STR(){delete []s;}
};
void STR::fun()
{
	if(num(*s)){
		yn=0;
		return;
	}
	for(char *p=s;*p;p++){
		if(alph(*p))
			continue;
		if(num(*p))
			continue;
		if(*p=='_')
			continue;
		break;
	}
	if(*p)
		yn=0;
	else 
		yn=1;
}
void main()
{
	STR s1("4abc1"),s2("ab c"),s3("_134"),s4("$abc");
	s1.fun();
	s2.fun();
	s3.fun();
	s4.fun();
	s1.print();
	s2.print();
	s3.print();
	s4.print();
}

五、心得感受

可以在評論處寫下思考和程式設計此題的感受