public:
SimpleCircle(); SimpleCircle(int);
SimpleCircle(const SimpleCircle &); ~SimpleCircle() {}
void SetRadius(int); int GetRadius()const;
private: int *itsRadius; };
SimpleCircle::SimpleCircle() {
itsRadius = new int(5); }
SimpleCircle::SimpleCircle(int radius) {
itsRadius = new int(radius); }
SimpleCircle::SimpleCircle(const SimpleCircle & rhs) {
int val = rhs.GetRadius(); itsRadius = new int(val); }
int SimpleCircle::GetRadius() const {
return *itsRadius; }
int main() {
SimpleCircle CircleOne, CircleTwo(9);
cout << \cout << \return 0; }程序运行输出: CircleOne: 5 CircleTwo: 9
6-21 编写一个函数,统计一个英文句子中字母的个数,在主程序中实现输入、输出。
解: 源程序:
#include
int count(char *str) {
int i,num=0;
for (i=0; str[i]; i++) {
if ( (str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z') ) num++; }
return num; }
void main() {
char text[100];
cout << \输入一个英语句子:\gets(text);
cout << \这个句子里有\个字母。\endl; }
程序运行输出: 输入一个英语句子: It is very interesting! 这个句子里有19个字母。
6-22 编写函数int index(char *s, char *t),返回字符串t 在字符串s中出现的最左边的位置,如果在s中没有与t匹配的子串,就返回-1。 解: 源程序:
#include
int index( char *s, char *t) {
int i,j,k;
for(i = 0; s[i] != '\\0'; i++) {
for(j = i, k = 0; t[k] != '\\0' && s[j] == t[k]; j++, k++) ;
26
if (t[k] =='\\0') return i; }
return -1; }
void main() { int n;
char str1[20],str2[20]; cout << \输入一个英语单词:\cin >> str1;
cout << \输入另一个英语单词:\cin >> s