第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如下程序,實(shí)在是看不明白了,請(qǐng)高人指點(diǎn)吶!

如下程序,實(shí)在是看不明白了,請(qǐng)高人指點(diǎn)吶!

C++
MYYA 2023-04-02 21:21:10
程序要求輸出學(xué)生、老師、研究生的檔案//檔案管理.cpp#include<iostream.h>#include<string.h>class Person{char *name;char sex;int age;public:Person(char *na,char sx,int ag){age=ag;sex=sx;name=new char[strlen(na)+1];strcpy(name,na);}void print()const{cout<<" "<<name<<":";cout<<age<<":";cout<<sex<<endl;}~Person(){delete[]name;}};class Student:public Person{int number;char department[50];public:Student(char*na,char sx,int ag,int num,char*dep){ number=num;strcpy(department,dep);}void print()const{Person::print();cout<<" number:"<<number<<endl;cout<<" department:"<<department<<endl;}};class Teacher:public Person{char post[20],course[30];public:Teacher(char*na,char sx,int ag,char*po,char*co):person(na,sx,ag){strcpy(post,po);strcpy(course,co);}void print()const{Person::print();cout<<" post:"<<post<<endl; cout<<" course:"<<course<<endl;}};class Graduatestudent:public Student{char advisor[30];public:Graduatestudent(char*na,char sx,int ag,int num,char*dep,char*ad):student(na,sx,ag,num,dep){strcpy(advisor,ad);}void print()const{Student::print();cout<<" advisor:"<<advisor<<endl;}};void main(){Person per1("zhang",'F',23),per2("chen",'M',37);Student stu1("li",'M',22,1001,"comp"),stu2("cui",'F',21,1002,"math");Teacher teach1("meng",'M',46,"professor","english");Graduatestudent grastu("zhou",'M',25,1011,"comp","liu");cout<<"===per1.print()==>name,age,sex"<<endl;per1.print();cout<<"===per2.print()==>name,age,sex"<<endl;per2.print();cout<<"===stu1.print()==>name,age,sex,number,department,advisor"<<endl;grastu.Graduatestudent::print();}這個(gè)程序運(yùn)行時(shí)總是說Student(char*na,char sx,int ag,int num,char*dep)這一行error C2512: 'Person' : no appropriate default constructor available。
查看完整描述

2 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

問題分析:
因?yàn)榕缮愒谡{(diào)用自己的構(gòu)造函數(shù)之前需要先調(diào)用父類的構(gòu)造函數(shù),如果你的派生類構(gòu)造函數(shù)初始化列表中沒有顯式的調(diào)用父類的構(gòu)造函數(shù),他就會(huì)自動(dòng)的調(diào)用父類的默認(rèn)構(gòu)造函數(shù)(也就是不帶參數(shù)的構(gòu)造函數(shù)),例如類Student在調(diào)用自己的構(gòu)造函數(shù)“Student(char*na,char sx,int ag,int num,char*dep)”時(shí)需要調(diào)用父類的默認(rèn)構(gòu)造函數(shù),而其父類Person的默認(rèn)構(gòu)造函數(shù)你沒有定義,所以會(huì)出現(xiàn)上述錯(cuò)誤。

解決方法:
給Person類定義默認(rèn)構(gòu)造函數(shù),即使什么也不做也要定義一個(gè)空函數(shù)


查看完整回答
反對(duì) 回復(fù) 2023-04-05
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

錯(cuò)誤主要是因?yàn)槟愕睦^承類Student中沒有為父類定義構(gòu)造函數(shù),你應(yīng)該會(huì)的,就象Graduatestudent繼承類的構(gòu)造函數(shù)一樣就行了
還有就是大小寫問題了你的兩次繼承類中定義的構(gòu)造函數(shù)都出現(xiàn)了這個(gè)問題,要知道大小寫可是不同滴呀.
1.
Teacher(char*na,char sx,int ag,char*po,char*co):Person(na,sx,ag) //Person要大寫才是你定義的類嘛

strcpy(post,po); 
strcpy(course,co); 

2.
Graduatestudent(char*na,char sx,int ag,int num,char*dep,char*ad):student(na,sx,ag,num,dep)//Studnet要大寫嘛 

strcpy(advisor,ad); 
}


查看完整回答
反對(duì) 回復(fù) 2023-04-05
  • 2 回答
  • 0 關(guān)注
  • 182 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)