摘要: 续上题改进String类,修正完善之前定义的构造析构函数与赋值运算符函数,增加对关系运算符和对访问运算符的重载,以及其他一些改动。String1类私有部分:1,数据成员 char* 指向字符串起点的指针; 2,int 记录字符串长度的变量(不含\0); 3,静态类成员变量 static int 记录类对象的总数; 4,常量 字符串长度限制;公有部分:1,构造函数与析构函数; 2,返回字符串长度的函数; 3,重载运算符函数; 4,重载关系运算符 输入输出运算符的友元函数; 5,静态类成员函数 用以返回类实例总个数的值。程序清单如下:// s... 阅读全文
posted @ 2013-05-12 23:18 庄懂 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 定义一个不完善的类,感受特殊成员函数在默认定义下给程序带来的错误和隐患。StringBad类私有部分:1,char* 一个指向字符串起点的指针; 2,int 字符串的长度(不含\0); 3,静态类成员变量 static int 用于记录类对象的总数;公有部分:1,构造和析构函数; 2,友元函数 重载“class StringBad{private: char* str; int len; static int strNum;public: StringBad(); StringBad(const char* s); ~StringBad(); ... 阅读全文
posted @ 2013-05-12 23:03 庄懂 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 定义一个复数类,并检验它。Complex类私有部分:数据成员,复数的实部与虚部;公有部分:1,构造与析构函数; 2,设置数据成员的函数; 3,重载运算符函数“+”,“-”,“*”,“~”; 4,友元函数 重载“*” ">" 运算符。程序清单如下:// complex.h#ifndef COMPLEX_H_#define COMPLEX_H_#include class Complex{private: // 数据成员 double realPart; double imagPart;public: // 构造与析构函数 Complex(); Co... 阅读全文
posted @ 2013-05-12 22:35 庄懂 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 续上题继续改进stonewt类,重载全部6个关系运算符,并检验新的类方法。改动的内容有:增加6个成员函数重载所有6个关系运算符。程序清单如下:// stonewt3.h#ifndef STONEWT3_H_#define STONEWT3_H_#include class Stonewt{public: // 状态成员 enum Mode {STN, LBS};private: enum {LbsPerStn = 14}; Mode mode; int stone; double pdsLeft; double pounds;public: // 构造函数和析构... 阅读全文
posted @ 2013-05-12 21:59 庄懂 阅读(192) 评论(0) 推荐(0) 编辑