freepascal protected constructor Непубличный конструктор - Warning: Constructor should be public
Primary tabs
В freepascal конструктор класса можно объявить как непубличный и программа выполнится:
type
Cat = class
public
name: string;
procedure sayHello();
protected
// fpc будет запускать такой конструктор как публичный
constructor create(nameValue: string);
end;
constructor Cat.create(nameValue: string);
begin
self.name := nameValue;
end;
procedure Cat.sayHello();
begin
writeln('Привет, я ' + self.name + '!');
end;
var
CatItem: Cat;
begin
CatItem := Cat.create('Мурка');
CatItem.sayHello();
end.
Но при компиляции будет выведено предупреждение (хотя программа заработает):
project1.lpr(10,5) Warning: Constructor should be public
- Log in to post comments
- 578 reads