Jak to najlepiej zrobić i jakie są różnice tych zapisów:
#include <stdio.h>
#include <conio.h>
class A
{
public:
const char* nazwa1() { return "Nazwa 1"; }
char* nazwa2() { return "Nazwa 2"; } // Line: 8
char* nazwa3() const { return "Nazwa 3"; } // Line: 9
const char* nazwa4() const { return "Nazwa 4"; }
};
int main()
{
A test;
printf("%s\n%s\n%s\n%s",test.nazwa1(),test.nazwa2(),test.nazwa3(),test.nazwa4());
getch();
return 0;
}
wszystkie wydają mi się podobne i mi się już to trochę miesza.
To mówi kompilator:
In member function 'char* A::nazwa2()':
(Line: 8) warning: deprecated conversion from string constant to 'char*'
In member function 'char* A::nazwa3() const':
(Line: 9) warning: deprecated conversion from string constant to 'char*'
=== Build finished: 0 errors, 2 warnings ===