mirror of
https://github.com/sharkdp/bat.git
synced 2024-09-06 11:21:30 +02:00
69 lines
1.2 KiB
Plaintext
69 lines
1.2 KiB
Plaintext
#import <Foundation/Foundation.h>
|
|
|
|
class Hello {
|
|
private:
|
|
id greeting_text;
|
|
|
|
public:
|
|
Hello() {
|
|
greeting_text = @"Hello, world!";
|
|
}
|
|
|
|
Hello(const char* initial_greeting_text) {
|
|
greeting_text = [[NSString alloc] initWithUTF8String:initial_greeting_text];
|
|
}
|
|
|
|
void say_hello() {
|
|
printf("%s\n", [greeting_text UTF8String]);
|
|
}
|
|
};
|
|
|
|
@interface Greeting : NSObject {
|
|
@private
|
|
Hello *hello;
|
|
|
|
}
|
|
- (id)init;
|
|
- (void)dealloc;
|
|
- (void)sayGreeting;
|
|
- (void)sayGreeting:(Hello*)greeting;
|
|
@end
|
|
|
|
@implementation Greeting
|
|
- (id)init {
|
|
self = [super init];
|
|
if (self) {
|
|
hello = new Hello();
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (void)dealloc {
|
|
delete hello;
|
|
[super dealloc];
|
|
}
|
|
|
|
- (void)sayGreeting {
|
|
hello->say_hello();
|
|
}
|
|
|
|
- (void)sayGreeting:(Hello*)greeting {
|
|
greeting->say_hello();
|
|
}
|
|
@end
|
|
|
|
int main() {
|
|
|
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
Greeting *greeting = [[Greeting alloc] init];
|
|
[greeting sayGreeting];
|
|
|
|
Hello *hello = new Hello("Bonjour, monde!");
|
|
[greeting sayGreeting:hello];
|
|
|
|
delete hello;
|
|
[greeting release];
|
|
[pool release];
|
|
return 0;
|
|
}
|