尝试测试运行结果
该代码包含题目要求的所有功能,运行完毕
五、实验总结
实验源代码:
练习(一)
//修改之后代码 #include
CStudent(char *n, int a); ~CStudent();
static void SetAge(CStudentstuN); static int CSnTota10bj();
private: char *name; int age;
static intnTotalObj; };
intCStudent::nTotalObj = 0; CStudent::CStudent(char *n, int a) :age(a) {
intnLen = strlen(n); name = new char[nLen+1]; strcpy(name,n); name[nLen] = ’\\0’;
nTotalObj++; }
CStudent::~CStudent() {
delete[] name; nTotalObj--; }
intCStudent::CSnTota10bj() {
int n; n=nTotalObj; return n; }
void CStudent::SetAge(CStudentstuN) {
int a; stuN.age = a; }
void main() {
CStudent stu1(\张三\ CStudent str2(\李四\
cout<<\ }
练习(二)
#include
class CStudent { public:
CStudent(char *n, int a); ~CStudent(); private: char *name; public: int age; };
CStudent::CStudent(char *n, int a) :age(a) {
intnLen = strlen(n);
name = new char[nLen+1]; strcpy(name,n); name[nLen] = ’\\0’; }
CStudent::~CStudent() {
delete[] name; }
class CTeacher { public:
CTeacher(char *tn,intta,char *sn,intsa); ~CTeacher();
void SetStuAge(int a); private: char *name; int age;
CStudentstu; };
CTeacher::CTeacher(char *tn,intta,char *sn=\ :age(ta),stu(sn,sa) {
intnLen = strlen(tn); name = new char[nLen+1]; strcpy(name,tn); name[nLen] = ’\\0’; }
CTeacher::~CTeacher() {
delete[] name;
}
void CTeacher::SetStuAge(int a) {
stu.age = a; }
void main() {
CStudentstu(\张三\ CTeacher tea(\李四\ } /*
错误1 CTeacher类中的成员函数SetStuAge不能直接访问CStudent类内嵌成员stu的数据成员age
错误2 CTeacher类构造函数的初始化含有错误,内嵌对象stu的数据成员也应该包含在内 */
练习(三)
#include
static inttotalWeight; public:
Goods(intwei);
static void PrintTotalWeight(); void sell(); void buy(); };
intGoods::totalWeight = 0; Goods::Goods(inttwei) {
totalWeight = twei;
cout<<\初始总重量为:\ }
void Goods::PrintTotalWeight() {
cout<<\总重量为:\
相关推荐: