亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++作業6?

c++作業6?

C C# C++
灬elliott 2016-05-24 12:12:55
一、實驗目的1.理解靜態成員(靜態數據成員、靜態成員函數)的作用與使用;2.理解友元(友元函數、友元類)的作用于使用。二、實驗內容2.1練習(一):1.理解下面的程序,并在VC++6.0下運行查看結果,回答程序后面的問題。#include <iostream.h>#include <string.h>class CStudent{public:CStudent(char *n, int a);~CStudent();static void SetAge(int age);private:char *name;int age;static int nTotalObj;};int CStudent::nTotalObj = 0;CStudent::CStudent(char *n, int a):age(a){int nLen = strlen(n);name = new char[nLen+1];strcpy(name,n);name[nLen] = ’\0’;nTotalObj++;}CStudent::~CStudent(){delete[] name;nTotalObj--;}void CStudent::SetAge(int age){this->age = age;}void main(){CStudent stu1("張三",25);CStudent str2("李四",26);cout<<"CStudent::nTotalObj="<<CStudent::nTotalObj<<endl;}問題一:以上程序編譯能通過嗎,為什么?問題二:成員變量nTotalObj在程序中起什么作用,它是如何實現的?問題三:如果規定該程序的主函數和類CStudent中的成員變量的屬性不允許改變,應該如何改正該程序?2.理解下面的程序,并在VC++6.0下運行查看結果,回答程序后面的問題。#include <iostream.h>#include <string.h>class CStudent{public:CStudent(char *n, int a);~CStudent();private:char *name;int age;};CStudent::CStudent(char *n, int a):age(a){int nLen = strlen(n);name = new char[nLen+1];strcpy(name,n);name[nLen] = ’\0’;}CStudent::~CStudent(){delete[] name;}class CTeacher{public:CTeacher(char *tn, int ta);~CTeacher();void SetStuAge(int a);private:char *name;int age;CStudent stu;};CTeacher::CTeacher(char *tn, int ta):age(ta){int nLen = 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(){CStudent stu("張三",25);CTeacher tea("李四",26);}問題一:以上程序有兩大錯誤,試指出來,并改正之?2.2練習(二):1.某商店經銷一種貨物。貨物成箱購進,成箱賣出,購進和賣出時以重量為單位,各箱的重量不一樣,因此,商店需要記錄下貨物庫存的總重量。試用C++模擬商店貨物購進和賣出的情況。(提示:將總重量定義為靜態成員)
查看完整描述

1 回答

?
灬elliott

TA貢獻63條經驗 獲得超17個贊

1.二:

它是靜態數據成員

?為整個類所共有,不屬于任何一個具體對象


查看完整回答
反對 回復 2016-06-11
  • 1 回答
  • 0 關注
  • 4770 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號