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

為了賬號安全,請及時綁定郵箱和手機立即綁定

求糾錯,實例化后無法編譯,不曉得錯在哪

Person.h

#ifndef?PEERSON_H
#define?PEERSON_H
#include?<string>
using?namespace?std;

class?Person{
public:
	Person(string?n);
	virtual?~Person(){}
	virtual?void?work()=0;
protected:
	string?Name;
};
#endif

Person.cpp

#include?"Person.h"

Person::Person(string?n){
????Name=n;
}

Worker.h

#ifndef?WORKER_H
#define?WORKER_H
#include?"Person.h"

class?Worker:public?Person{
public:
	Worker(string?n,int?a);
	virtual?void?work();
protected:
	int?Age;
};
#endif

Worker.cpp

#include?"Worker.h"
#include?<iostream>

Worker::Worker(string?n,int?a):Person(n){
????Age=a;
}
void?work(){
????//cout<<Name<<"?is?"<<Age<<endl;
????cout<<"work--worker"<<endl;
}

這個地方就不能用cout<<Name<<"?is?"<<Age<<endl,編譯說Name和Age未定義,之前的課程未涉及純虛函數(shù)時是正常的。

Dustman.h

#include?"Worker.h"

class?Dustman:public?Worker{
public:
	Dustman(string?n,int?a);
	virtual?~Dustman(){}
	void?work();
};

Dustman.cpp

#include?"Dustman.h"
#include?<iostream>

Dustman::Dustman(string?n,int?a):Worker(n,a){
}
void?Dustman::work(){
	cout<<Name<<"?is?"<<Age<<"?--Dustman"<<endl;
}

這里編譯又正常了,可以用Name和Age,求教上面為什么不能用

demo.cpp

#include?"Dustman.h"

int?main(){
	/*Dustman?dd("merry",18);
	dd.work();*/
	
	Person?*p?=?new?Dustman("merry",18);
	p->work();
	delete?p;
	p=NULL;
	return?0;
}

用2種實例化都不行,報錯一樣的

/tmp/cc8z9iC2.o: In function `Worker::~Worker()':

Dustman.cpp:(.text._ZN6WorkerD2Ev[_ZN6WorkerD5Ev]+0x7): undefined reference to `vtable for Worker'

/tmp/cc8z9iC2.o:(.rodata._ZTI7Dustman[_ZTI7Dustman]+0x8): undefined reference to `typeinfo for Worker'

/tmp/ccEPTJOC.o: In function `Worker::Worker(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)':

Worker.cpp:(.text+0x53): undefined reference to `vtable for Worker'

啥意思?我沒定義~Worker()這個函數(shù)啊

求糾錯

ps:編譯時就報錯了,還沒到運行的步驟

正在回答

1 回答

#include?"Worker.h"

#include?<iostream>

?

Worker::Worker(string?n,int?a):Person(n){

????Age=a;

}

void ?Worker::work(){

????//cout<<Name<<"?is?"<<Age<<endl;

????cout<<"work--worker"<<endl;

}

少加了下劃線的地方

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

xiele 提問者

萬分感謝,我檢查了n邊都沒看出來 (>_<)
2016-11-02 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
C++遠征之多態(tài)篇
  • 參與學(xué)習(xí)       66225    人
  • 解答問題       329    個

本教程將帶領(lǐng)大家體會面向?qū)ο笕筇匦灾械亩鄳B(tài)特性

進入課程

求糾錯,實例化后無法編譯,不曉得錯在哪

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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