Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > список инициализации конструктора


Автор: Aurus 23.10.2011, 15:56
Привет, всем.
Начал просматривать видео курс по С++ http://www.youtube.com/watch?v=jCaxfmcDYjs&feature=autoplay&list=PLAE85DE8440AA6B83&lf=results_main&playnext=6

Автор успешно запускает следующий код, теперь и я успешно это делаю, просто неправильно использовал список инициализации конструктора.
main.cpp
Код

#include "People.h"
#include "Birthday.h"
#include <iostream>
using namespace std;

int main(){
Birthday birthObj(16,01,1987);
People buckyRoberts("Bucky", birthObj);

buckyRoberts.printInfo();
}


Birthday.h
Код

class Birthday{
    public:
        Birthday(int m, int d, int y);
        void printDate();
    private:
    int month;
    int day;
    int year;
};

Birthday.cpp
Код

#include "Birthday.h"
#include <iostream>
using namespace std;

Birthday::Birthday(int m, int d, int y){
month = m;
day=d;
year = y;
}

void Birthday::printDate(){
cout<<month<<"."<<day<<"."<<year<<"."<<endl;
}


People.h
Код

#include "Birthday.h"
#include <string>
using namespace std;

class People{
    public:
        People(string x, Birthday bo);
        void printInfo();
    private:
        string name;
        Birthday DateOfBirth;
};



People.cpp
Код

#include "People.h"
#include "Birthday.h"
#include <iostream>
using namespace std;
People::People(string x, Birthday bo)
: name(x), DateOfBirth(bo)
{

}

void People::printInfo(){
cout<<name<<" was born on ";
DateOfBirth.printDate();
}

Автор: newbee 23.10.2011, 16:07
Цитата(Aurus @  23.10.2011,  16:56 Найти цитируемый пост)
Начал просматривать видео курс по С++
Ох уж эти сишарперы, ох затейники!

Цитата(Aurus @  23.10.2011,  16:56 Найти цитируемый пост)
class People{
    public:
        People(string x, Birthday bo);

Цитата(Aurus @  23.10.2011,  16:56 Найти цитируемый пост)
People::People()
Сигнатура функций должна быть одинаковой. Другими словами, аргументы конструктора в .h и в .cpp должны совпадать.

Автор: mes 23.10.2011, 16:27
 smile 
Цитата(newbee @  23.10.2011,  15:07 Найти цитируемый пост)
Ох уж эти сишарперы, ох затейники!

сомневаюсь что сишарпер..в шарпе ошибка была б подобной.. 

Автор: newbee 24.10.2011, 09:00
Цитата(mes @  23.10.2011,  17:27 Найти цитируемый пост)
сомневаюсь что сишарпер..в шарпе ошибка была б подобной.. 
Сишарпер - заключение (или диагноз smile ) по предыдущей активности ТС на форуме. А затейник, потому что учится быдлокодить на С++ по надписям на заборе видеоурокам.

Автор: JackYF 24.10.2011, 21:03

 ! 
JackYF
newbee, тебе последнее китайское предупреждение за очередной переход на личности.

Автор: bsa 26.10.2011, 10:43

M
bsa
Обсуждение предупреждения JackYF перенесено в книгу отзывов о работе администрации форума

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)