assch
29-03-2014, 19:30
Когда изучал классы в C++ на уроках было показано два примера
как можно пользоватся классами в коде
Например на основе трёх файлов:
main.cpp
#include <iostream>
#include <string>
using namespace std;
#include "SharedConfig.h"
#include "SharedConfig.cpp"
int main()
{
// Первый способ с последующим вызовом через "."
CSharedConfig class1;
cout << "Service ";
cout << class1.GetAppVersion() <<endl;
cout << endl;
// Второй способ с последующим вызовом через "->"
CSharedConfig *class2 = new CSharedConfig;
cout << "Service ";
cout << class2->GetAppVersion() <<endl;
cout << endl;
delete class2;
system("pause");
return 0;
}
SharedConfig.h
#pragma once
class CSharedConfig
{
public:
string GetAppVersion();
};
SharedConfig.cpp
#include "SharedConfig.h"
string CSharedConfig::GetAppVersion()
{
return "0.1.5";
}
Всё работает исправно
А сейчас разбираю один код и мне попался непонятный метод вызова
функции через класс
#include <iostream>
#include <string>
using namespace std;
#include "SharedConfig.h"
#include "SharedConfig.cpp"
int main()
{
// Третий способ ???
cout << "Service ";
cout << CSharedConfig::Shared()->GetAppVersion() <<endl;
cout << endl;
system("pause");
return 0;
}
Как понять этот способ
Что для этого нужно прописать в файле - SharedConfig.h
то есть как нужно оформить написание класса
И что нужно прописать в файле - SharedConfig.cpp
то есть что нужно вписать помимо функции (функция та что и выше)
Попробую прикрепить функции разбираемого кода
как можно пользоватся классами в коде
Например на основе трёх файлов:
main.cpp
#include <iostream>
#include <string>
using namespace std;
#include "SharedConfig.h"
#include "SharedConfig.cpp"
int main()
{
// Первый способ с последующим вызовом через "."
CSharedConfig class1;
cout << "Service ";
cout << class1.GetAppVersion() <<endl;
cout << endl;
// Второй способ с последующим вызовом через "->"
CSharedConfig *class2 = new CSharedConfig;
cout << "Service ";
cout << class2->GetAppVersion() <<endl;
cout << endl;
delete class2;
system("pause");
return 0;
}
SharedConfig.h
#pragma once
class CSharedConfig
{
public:
string GetAppVersion();
};
SharedConfig.cpp
#include "SharedConfig.h"
string CSharedConfig::GetAppVersion()
{
return "0.1.5";
}
Всё работает исправно
А сейчас разбираю один код и мне попался непонятный метод вызова
функции через класс
#include <iostream>
#include <string>
using namespace std;
#include "SharedConfig.h"
#include "SharedConfig.cpp"
int main()
{
// Третий способ ???
cout << "Service ";
cout << CSharedConfig::Shared()->GetAppVersion() <<endl;
cout << endl;
system("pause");
return 0;
}
Как понять этот способ
Что для этого нужно прописать в файле - SharedConfig.h
то есть как нужно оформить написание класса
И что нужно прописать в файле - SharedConfig.cpp
то есть что нужно вписать помимо функции (функция та что и выше)
Попробую прикрепить функции разбираемого кода